<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Bayesian programming</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Bayesian_programming"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Bayesian_programming rootpage-Bayesian_programming skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Bayesian programming</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1305433154">
/* start https://en.wikipedia.org/ */
.mw-parser-output .ambox{border:1px solid #a2a9b1;border-left:10px solid #36c;background-color:#fbfbfb;box-sizing:border-box}.mw-parser-output .ambox+link+.ambox,.mw-parser-output .ambox+link+style+.ambox,.mw-parser-output .ambox+link+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+style+.ambox,.mw-parser-output .ambox+.mw-empty-elt+link+link+.ambox{margin-top:-1px}html body.mediawiki .mw-parser-output .ambox.mbox-small-left{margin:4px 1em 4px 0;overflow:hidden;width:238px;border-collapse:collapse;font-size:88%;line-height:1.25em}.mw-parser-output .ambox-speedy{border-left:10px solid #b32424;background-color:#fee7e6}.mw-parser-output .ambox-delete{border-left:10px solid #b32424}.mw-parser-output .ambox-content{border-left:10px solid #f28500}.mw-parser-output .ambox-style{border-left:10px solid #fc3}.mw-parser-output .ambox-move{border-left:10px solid #9932cc}.mw-parser-output .ambox-protection{border-left:10px solid #a2a9b1}.mw-parser-output .ambox .mbox-text{border:none;padding:0.25em 0.5em;width:100%}.mw-parser-output .ambox .mbox-image{border:none;padding:2px 0 2px 0.5em;text-align:center}.mw-parser-output .ambox .mbox-imageright{border:none;padding:2px 0.5em 2px 0;text-align:center}.mw-parser-output .ambox .mbox-empty-cell{border:none;padding:0;width:1px}.mw-parser-output .ambox .mbox-image-div{width:52px}@media(min-width:720px){.mw-parser-output .ambox{margin:0 10%}}@media print{body.ns-0 .mw-parser-output .ambox{display:none!important}}
/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */
.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}
/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1246091330">
/* start https://en.wikipedia.org/ */
.mw-parser-output .sidebar{width:22em;float:right;clear:right;margin:0.5em 0 1em 1em;background:var(--background-color-neutral-subtle,#f8f9fa);border:1px solid var(--border-color-base,#a2a9b1);padding:0.2em;text-align:center;line-height:1.4em;font-size:88%;border-collapse:collapse;display:table}body.skin-minerva .mw-parser-output .sidebar{display:table!important;float:right!important;margin:0.5em 0 1em 1em!important}.mw-parser-output .sidebar-subgroup{width:100%;margin:0;border-spacing:0}.mw-parser-output .sidebar-left{float:left;clear:left;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-none{float:none;clear:both;margin:0.5em 1em 1em 0}.mw-parser-output .sidebar-outer-title{padding:0 0.4em 0.2em;font-size:125%;line-height:1.2em;font-weight:bold}.mw-parser-output .sidebar-top-image{padding:0.4em}.mw-parser-output .sidebar-top-caption,.mw-parser-output .sidebar-pretitle-with-top-image,.mw-parser-output .sidebar-caption{padding:0.2em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-pretitle{padding:0.4em 0.4em 0;line-height:1.2em}.mw-parser-output .sidebar-title,.mw-parser-output .sidebar-title-with-pretitle{padding:0.2em 0.8em;font-size:145%;line-height:1.2em}.mw-parser-output .sidebar-title-with-pretitle{padding:0.1em 0.4em}.mw-parser-output .sidebar-image{padding:0.2em 0.4em 0.4em}.mw-parser-output .sidebar-heading{padding:0.1em 0.4em}.mw-parser-output .sidebar-content{padding:0 0.5em 0.4em}.mw-parser-output .sidebar-content-with-subgroup{padding:0.1em 0.4em 0.2em}.mw-parser-output .sidebar-above,.mw-parser-output .sidebar-below{padding:0.3em 0.8em;font-weight:bold}.mw-parser-output .sidebar-collapse .sidebar-above,.mw-parser-output .sidebar-collapse .sidebar-below{border-top:1px solid #aaa;border-bottom:1px solid #aaa}.mw-parser-output .sidebar-navbar{text-align:right;font-size:115%;padding:0 0.4em 0.4em}.mw-parser-output .sidebar-list-title{padding:0 0.4em;text-align:left;font-weight:bold;line-height:1.6em;font-size:105%}.mw-parser-output .sidebar-list-title-c{padding:0 0.4em;text-align:center;margin:0 3.3em}@media(max-width:640px){body.mediawiki .mw-parser-output .sidebar{width:100%!important;clear:both;float:none!important;margin-left:0!important;margin-right:0!important}}body.skin--responsive .mw-parser-output .sidebar a>img{max-width:none!important}@media screen{html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-night .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-list-title,html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle{background:transparent!important}html.skin-theme-clientpref-os .mw-parser-output .sidebar:not(.notheme) .sidebar-title-with-pretitle a{color:var(--color-progressive)!important}}@media print{body.ns-0 .mw-parser-output .sidebar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style><table class="sidebar nomobile nowraplinks hlist"><tbody><tr><td class="sidebar-pretitle">Part of a series on</td></tr><tr><th class="sidebar-title-with-pretitle"><a href="Bayesian_statistics" title="Bayesian statistics">Bayesian statistics</a></th></tr><tr><td class="sidebar-image"><span typeof="mw:File"></span></td></tr><tr><td class="sidebar-content">
<a href="Posterior_probability" title="Posterior probability">Posterior</a> = <a href="Likelihood_function" title="Likelihood function">Likelihood</a> × <a href="Prior_probability" title="Prior probability">Prior</a> ÷ <a href="Marginal_likelihood" title="Marginal likelihood">Evidence</a></td>
</tr><tr><th class="sidebar-heading">
Background</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Bayesian_inference" title="Bayesian inference">Bayesian inference</a></li>
<li><a href="Bayesian_probability" title="Bayesian probability">Bayesian probability</a></li>
<li><a href="Bayes'_theorem" title="Bayes' theorem">Bayes' theorem</a></li>
<li><a href="Bernstein%E2%80%93von_Mises_theorem" title="Bernstein–von Mises theorem">Bernstein–von Mises theorem</a></li>
<li><a href="Coherence_(philosophical_gambling_strategy)" class="mw-redirect" title="Coherence (philosophical gambling strategy)">Coherence</a></li>
<li><a href="Cox's_theorem" title="Cox's theorem">Cox's theorem</a></li>
<li><a href="Cromwell's_rule" title="Cromwell's rule">Cromwell's rule</a></li>
<li><a href="Likelihood_principle" title="Likelihood principle">Likelihood principle</a></li>
<li><a href="Principle_of_indifference" title="Principle of indifference">Principle of indifference</a></li>
<li><a href="Principle_of_maximum_entropy" title="Principle of maximum entropy">Principle of maximum entropy</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Model building</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Conjugate_prior" title="Conjugate prior">Conjugate prior</a></li>
<li><a href="Bayesian_linear_regression" title="Bayesian linear regression">Linear regression</a></li>
<li><a href="Empirical_Bayes_method" title="Empirical Bayes method">Empirical Bayes</a></li>
<li><a href="Bayesian_hierarchical_modeling" title="Bayesian hierarchical modeling">Hierarchical model</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Posterior approximation</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Markov_chain_Monte_Carlo" title="Markov chain Monte Carlo">Markov chain Monte Carlo</a></li>
<li><a href="Laplace's_approximation" title="Laplace's approximation">Laplace's approximation</a></li>
<li><a href="Integrated_nested_Laplace_approximations" title="Integrated nested Laplace approximations">Integrated nested Laplace approximations</a></li>
<li><a href="Variational_Bayesian_methods" title="Variational Bayesian methods">Variational inference</a></li>
<li><a href="Approximate_Bayesian_computation" title="Approximate Bayesian computation">Approximate Bayesian computation</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Estimators</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Bayesian_estimator" class="mw-redirect" title="Bayesian estimator">Bayesian estimator</a></li>
<li><a href="Credible_interval" title="Credible interval">Credible interval</a></li>
<li><a href="Maximum_a_posteriori_estimation" title="Maximum a posteriori estimation">Maximum a posteriori estimation</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Evidence approximation</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Evidence_lower_bound" title="Evidence lower bound">Evidence lower bound</a></li>
<li><a href="Nested_sampling_algorithm" title="Nested sampling algorithm">Nested sampling</a></li></ul></td>
</tr><tr><th class="sidebar-heading">
Model evaluation</th></tr><tr><td class="sidebar-content">
<ul><li><a href="Bayes_factor" title="Bayes factor">Bayes factor</a> (<a href="Bayesian_information_criterion" title="Bayesian information criterion">Schwarz criterion</a>)</li>
<li><a href="Bayesian_model_averaging" class="mw-redirect" title="Bayesian model averaging">Model averaging</a></li>
<li><a href="Posterior_predictive_distribution" title="Posterior predictive distribution">Posterior predictive</a></li></ul></td>
</tr><tr><td class="sidebar-below">
<ul><li><span class="nowrap"><span class="skin-invert-image noviewer" typeof="mw:File"></span> </span><a href="Portal%3AMathematics" title="Portal:Mathematics">Mathematics portal</a></li></ul></td></tr><tr><td class="sidebar-navbar"><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */
.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}
/* end https://en.wikipedia.org/ */
</style></td></tr></tbody></table><table class="sidebar nomobile nowraplinks hlist"><tbody><tr><td class="sidebar-pretitle">Part of a series on <a href="Statistics" title="Statistics">statistics</a></td></tr><tr><th class="sidebar-title-with-pretitle"><a href="Probability_theory" title="Probability theory">Probability theory</a></th></tr><tr><td class="sidebar-image"><span class="skin-invert" typeof="mw:File"></span></td></tr><tr><td class="sidebar-content">
<li><a href="Probability" title="Probability">Probability</a>
<ul><li><a href="Probability_axioms" title="Probability axioms">Axioms</a></li></ul></li>
<li><a href="Determinism" title="Determinism">Determinism</a>
<ul><li><a href="Deterministic_system" title="Deterministic system">System</a></li></ul></li>
<li><a href="Indeterminism" title="Indeterminism">Indeterminism</a></li>
<li><a href="Randomness" title="Randomness">Randomness</a></li></td>
</tr><tr><td class="sidebar-content">
<ul><li><a href="Probability_space" title="Probability space">Probability space</a></li>
<li><a href="Sample_space" title="Sample space">Sample space</a></li>
<li><a href="Event_(probability_theory)" title="Event (probability theory)">Event</a>
<ul><li><a href="Collectively_exhaustive_events" title="Collectively exhaustive events">Collectively exhaustive events</a></li>
<li><a href="Elementary_event" title="Elementary event">Elementary event</a></li>
<li><a href="Mutual_exclusivity" title="Mutual exclusivity">Mutual exclusivity</a></li>
<li><a href="Outcome_(probability)" title="Outcome (probability)">Outcome</a></li>
<li><a href="Singleton_(mathematics)" title="Singleton (mathematics)">Singleton</a></li></ul></li>
<li><a href="Experiment_(probability_theory)" title="Experiment (probability theory)">Experiment</a>
<ul><li><a href="Bernoulli_trial" title="Bernoulli trial">Bernoulli trial</a></li></ul></li>
<li><a href="Probability_distribution" title="Probability distribution">Probability distribution</a>
<ul><li><a href="Bernoulli_distribution" title="Bernoulli distribution">Bernoulli distribution</a></li>
<li><a href="Binomial_distribution" title="Binomial distribution">Binomial distribution</a></li>
<li><a href="Exponential_distribution" title="Exponential distribution">Exponential distribution</a></li>
<li><a href="Normal_distribution" title="Normal distribution">Normal distribution</a></li>
<li><a href="Pareto_distribution" title="Pareto distribution">Pareto distribution</a></li>
<li><a href="Poisson_distribution" title="Poisson distribution">Poisson distribution</a></li></ul></li>
<li><a href="Probability_measure" title="Probability measure">Probability measure</a></li>
<li><a href="Random_variable" title="Random variable">Random variable</a>
<ul><li><a href="Bernoulli_process" title="Bernoulli process">Bernoulli process</a></li>
<li><a href="Continuous_or_discrete_variable" title="Continuous or discrete variable">Continuous or discrete</a></li>
<li><a href="Expected_value" title="Expected value">Expected value</a></li>
<li><a href="Variance" title="Variance">Variance</a></li>
<li><a href="Markov_chain" title="Markov chain">Markov chain</a></li>
<li><a href="Realization_(probability)" title="Realization (probability)">Observed value</a></li>
<li><a href="Random_walk" title="Random walk">Random walk</a></li>
<li><a href="Stochastic_process" title="Stochastic process">Stochastic process</a></li></ul></li></ul></td>
</tr><tr><td class="sidebar-content">
<ul><li><a href="Complementary_event" title="Complementary event">Complementary event</a></li>
<li><a href="Joint_probability_distribution" title="Joint probability distribution">Joint probability</a></li>
<li><a href="Marginal_distribution" title="Marginal distribution">Marginal probability</a></li>
<li><a href="Conditional_probability" title="Conditional probability">Conditional probability</a></li></ul></td>
</tr><tr><td class="sidebar-content">
<ul><li><a href="Independence_(probability_theory)" title="Independence (probability theory)">Independence</a></li>
<li><a href="Conditional_independence" title="Conditional independence">Conditional independence</a></li>
<li><a href="Law_of_total_probability" title="Law of total probability">Law of total probability</a></li>
<li><a href="Law_of_large_numbers" title="Law of large numbers">Law of large numbers</a></li>
<li><a href="Bayes'_theorem" title="Bayes' theorem">Bayes' theorem</a></li>
<li><a href="Boole's_inequality" title="Boole's inequality">Boole's inequality</a></li></ul></td>
</tr><tr><td class="sidebar-content">
<ul><li><a href="Venn_diagram" title="Venn diagram">Venn diagram</a></li>
<li><a href="Tree_diagram_(probability_theory)" title="Tree diagram (probability theory)">Tree diagram</a></li></ul></td>
</tr><tr><td class="sidebar-navbar"></td></tr></tbody></table>
<p><b>Bayesian programming</b> is a formalism and a methodology for having a technique to specify <a href="Probability_distribution" title="Probability distribution">probabilistic models</a> and solve problems when less than the necessary information is available.
</p><p><a href="Edwin_Thompson_Jaynes" title="Edwin Thompson Jaynes">Edwin T. Jaynes</a> proposed that probability could be considered as an alternative and an extension of logic for rational reasoning with incomplete and uncertain information. In his founding book <i>Probability Theory: The Logic of Science</i><sup id="cite_ref-Jaynes2003_1-0" class="reference"><a href="#cite_note-Jaynes2003-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> he developed this theory and proposed what he called “the robot,” which was not
a physical device, but an <a href="Inference_engine" title="Inference engine">inference engine</a> to automate probabilistic reasoning—a kind of <a href="Prolog" title="Prolog">Prolog</a> for probability instead of logic. Bayesian programming<sup id="cite_ref-BessiereMazer2013_2-0" class="reference"><a href="#cite_note-BessiereMazer2013-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> is a formal and concrete implementation of this "robot".
</p><p>Bayesian programming may also be seen as an algebraic formalism to specify <a href="Graphical_model" title="Graphical model">graphical models</a> such as, for instance, <a href="Bayesian_network" title="Bayesian network">Bayesian networks</a>, <a href="Dynamic_Bayesian_network" title="Dynamic Bayesian network">dynamic Bayesian networks</a>, <a href="Kalman_filter" title="Kalman filter">Kalman filters</a> or <a href="Hidden_Markov_model" title="Hidden Markov model">hidden Markov models</a>. Indeed, Bayesian Programming is more general than <a href="Bayesian_network" title="Bayesian network">Bayesian networks</a> and has a power of expression equivalent to probabilistic <a href="Factor_graph" title="Factor graph">factor graphs</a>.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Formalism">Formalism</h2></div>
<p>A Bayesian program is a means of specifying a family of probability distributions.
</p><p>The constituent elements of a Bayesian program are presented below:<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\text{Program}}{\begin{cases}{\text{Description}}{\begin{cases}{\text{Specification}}(\pi ){\begin{cases}{\text{Variables}}\\{\text{Decomposition}}\\{\text{Forms}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\{\text{Question}}\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtext>Program</mtext>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Description</mtext>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Specification</mtext>
</mrow>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Variables</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Decomposition</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Forms</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Identification (based on </mtext>
</mrow>
<mi>δ<!-- δ --></mi>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Question</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\text{Program}}{\begin{cases}{\text{Description}}{\begin{cases}{\text{Specification}}(\pi ){\begin{cases}{\text{Variables}}\\{\text{Decomposition}}\\{\text{Forms}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\{\text{Question}}\end{cases}}}</annotation>
</semantics>
</math></span><img src="./f88980d13a8649e7a9c99d6d71aff9c6ed81871e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.505ex; width:59.857ex; height:14.176ex;" alt="{\displaystyle {\text{Program}}{\begin{cases}{\text{Description}}{\begin{cases}{\text{Specification}}(\pi ){\begin{cases}{\text{Variables}}\\{\text{Decomposition}}\\{\text{Forms}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\{\text{Question}}\end{cases}}}" loading="lazy"></span></dd></dl>
<ol><li>A program is constructed from a description and a question.</li>
<li>A description is constructed using some specification (<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \pi }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>π<!-- π --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \pi }</annotation>
</semantics>
</math></span><img src="./9be4ba0bb8df3af72e90a0535fabcc17431e540a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.332ex; height:1.676ex;" alt="{\displaystyle \pi }" loading="lazy"></span>) as given by the programmer and an identification or learning process for the parameters not completely specified by the specification, using a data set (<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta }</annotation>
</semantics>
</math></span><img src="./c5321cfa797202b3e1f8620663ff43c4660ea03a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }" loading="lazy"></span>).</li>
<li>A specification is constructed from a set of pertinent variables, a decomposition and a set of forms.</li>
<li>Forms are either parametric forms or questions to other Bayesian programs.</li>
<li>A question specifies which probability distribution has to be computed.</li></ol>
<div class="mw-heading mw-heading3"><h3 id="Description">Description</h3></div>
<p>The purpose of a description is to specify an effective method of computing a <a href="Joint_probability_distribution" title="Joint probability distribution">joint probability distribution</a>
on a set of <a href="Random_variable" title="Random variable">variables</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>{</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}</annotation>
</semantics>
</math></span><img src="./c8a1404b5d8baa911d69b88d95ad7a11ecfc250b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.11ex; height:2.843ex;" alt="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}" loading="lazy"></span> given a set of experimental data <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta }</annotation>
</semantics>
</math></span><img src="./c5321cfa797202b3e1f8620663ff43c4660ea03a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }" loading="lazy"></span> and some
specification <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \pi }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>π<!-- π --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \pi }</annotation>
</semantics>
</math></span><img src="./9be4ba0bb8df3af72e90a0535fabcc17431e540a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.332ex; height:1.676ex;" alt="{\displaystyle \pi }" loading="lazy"></span>. This <a href="Joint_probability_distribution" title="Joint probability distribution">joint distribution</a> is denoted as: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./5663410f8efb9260c5cf596348fcc8d7169b1073.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:30.886ex; height:2.843ex;" alt="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}" loading="lazy"></span>.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup>
</p><p>To specify preliminary knowledge <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \pi }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>π<!-- π --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \pi }</annotation>
</semantics>
</math></span><img src="./9be4ba0bb8df3af72e90a0535fabcc17431e540a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.332ex; height:1.676ex;" alt="{\displaystyle \pi }" loading="lazy"></span>, the programmer must undertake the following:
</p>
<ol><li>Define the set of relevant <a href="Random_variable" title="Random variable">variables</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>{</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}</annotation>
</semantics>
</math></span><img src="./c8a1404b5d8baa911d69b88d95ad7a11ecfc250b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.11ex; height:2.843ex;" alt="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}" loading="lazy"></span> on which the joint distribution is defined.</li>
<li>Decompose the joint distribution (break it into relevant <a href="Independence_(probability_theory)" title="Independence (probability theory)">independent</a> or <a href="Conditional_probability" title="Conditional probability">conditional probabilities</a>).</li>
<li>Define the forms of each of the distributions (e.g., for each variable, one of the <a href="List_of_probability_distributions" title="List of probability distributions">list of probability distributions</a>).</li></ol>
<div class="mw-heading mw-heading4"><h4 id="Decomposition">Decomposition</h4></div>
<p>Given a partition of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{X_{1},X_{2},\ldots ,X_{N}\right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>{</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left\{X_{1},X_{2},\ldots ,X_{N}\right\}}</annotation>
</semantics>
</math></span><img src="./8a5ca3038bf1ccd47d9b8a60d62a8723393f6a5a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.11ex; height:2.843ex;" alt="{\displaystyle \left\{X_{1},X_{2},\ldots ,X_{N}\right\}}" loading="lazy"></span> containing <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>K</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle K}</annotation>
</semantics>
</math></span><img src="./2b76fce82a62ed5461908f0dc8f037de4e3686b0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.066ex; height:2.176ex;" alt="{\displaystyle K}" loading="lazy"></span> subsets, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle K}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>K</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle K}</annotation>
</semantics>
</math></span><img src="./2b76fce82a62ed5461908f0dc8f037de4e3686b0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.066ex; height:2.176ex;" alt="{\displaystyle K}" loading="lazy"></span> variables are defined
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L_{1},\cdots ,L_{K}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle L_{1},\cdots ,L_{K}}</annotation>
</semantics>
</math></span><img src="./df80a04113be2f0ec16d37934e328e7d5bfc60b2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.091ex; height:2.509ex;" alt="{\displaystyle L_{1},\cdots ,L_{K}}" loading="lazy"></span>, each corresponding to one of these subsets.
Each variable <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle L_{k}}</annotation>
</semantics>
</math></span><img src="./939365b07ac6bf3558837d0c457ca855dcb5e7d4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.672ex; height:2.509ex;" alt="{\displaystyle L_{k}}" loading="lazy"></span> is obtained as the conjunction of the variables <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{X_{k_{1}},X_{k_{2}},\cdots \right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>{</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<msub>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left\{X_{k_{1}},X_{k_{2}},\cdots \right\}}</annotation>
</semantics>
</math></span><img src="./6868f21627fa0fe1d660d58a3c098dd7e8cd7f7f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:14.805ex; height:3.009ex;" alt="{\displaystyle \left\{X_{k_{1}},X_{k_{2}},\cdots \right\}}" loading="lazy"></span>
belonging to the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k^{th}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>k</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mi>h</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k^{th}}</annotation>
</semantics>
</math></span><img src="./c348e1c6f8200f15d1d6026fc140d554b272096d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.984ex; height:2.676ex;" alt="{\displaystyle k^{th}}" loading="lazy"></span> subset. Recursive application of <a href="Bayes'_theorem" title="Bayes' theorem">Bayes' theorem</a> leads to:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\wedge \cdots \wedge L_{K}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid L_{1}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid L_{K-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\wedge \cdots \wedge L_{K}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid L_{1}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid L_{K-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./fd0d0078fa36af07aacee3d9b01c67d2a41b0318.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.005ex; width:79.23ex; height:9.176ex;" alt="{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\wedge \cdots \wedge L_{K}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid L_{1}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid L_{K-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)\end{aligned}}}" loading="lazy"></span></dd></dl>
<p><a href="Conditional_independence" title="Conditional independence">Conditional independence</a> hypotheses then allow further simplifications. A conditional
independence hypothesis for variable <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle L_{k}}</annotation>
</semantics>
</math></span><img src="./939365b07ac6bf3558837d0c457ca855dcb5e7d4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.672ex; height:2.509ex;" alt="{\displaystyle L_{k}}" loading="lazy"></span> is defined by choosing some variable <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle X_{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle X_{n}}</annotation>
</semantics>
</math></span><img src="./72a8564cedc659cf2f95ae68bc5de2f5207a3285.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.143ex; height:2.509ex;" alt="{\displaystyle X_{n}}" loading="lazy"></span>
among the variables appearing in the conjunction <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle L_{k-1}\wedge \cdots \wedge L_{2}\wedge L_{1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle L_{k-1}\wedge \cdots \wedge L_{2}\wedge L_{1}}</annotation>
</semantics>
</math></span><img src="./c73bb9b77cdfca1e741f19d4eecdf3741f9a62ff.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:20.517ex; height:2.509ex;" alt="{\displaystyle L_{k-1}\wedge \cdots \wedge L_{2}\wedge L_{1}}" loading="lazy"></span>, labelling <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{k}}</annotation>
</semantics>
</math></span><img src="./7ceaa1ef568e99be510c49bc30d07d094e150a6b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.853ex; height:2.509ex;" alt="{\displaystyle R_{k}}" loading="lazy"></span> as the
conjunction of these chosen variables and setting:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(L_{k}\mid L_{k-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)=P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(L_{k}\mid L_{k-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)=P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./5c7e59b9fa1f53a725852038fc035da68cefaa3f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:53.442ex; height:2.843ex;" alt="{\displaystyle P\left(L_{k}\mid L_{k-1}\wedge \cdots \wedge L_{1}\wedge \delta \wedge \pi \right)=P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}" loading="lazy"></span></dd></dl>
<p>We then obtain:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid R_{2}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid R_{K}\wedge \delta \wedge \pi \right)\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid R_{2}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid R_{K}\wedge \delta \wedge \pi \right)\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./adca39c881e76c7519f0ebf14f65950cfa13667f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:66.967ex; height:6.176ex;" alt="{\displaystyle {\begin{aligned}&P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)\\={}&P\left(L_{1}\mid \delta \wedge \pi \right)\times P\left(L_{2}\mid R_{2}\wedge \delta \wedge \pi \right)\times \cdots \times P\left(L_{K}\mid R_{K}\wedge \delta \wedge \pi \right)\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>Such a simplification of the joint distribution as a product of simpler distributions is
called a decomposition, derived using the <a href="Chain_rule_(probability)" title="Chain rule (probability)">chain rule</a>.
</p><p>This ensures that each variable appears at the most once on the left of a conditioning
bar, which is the necessary and sufficient condition to write mathematically valid
decompositions.
</p>
<div class="mw-heading mw-heading4"><h4 id="Forms">Forms</h4></div>
<p>Each distribution <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./e18b962cc913734580d8531704a0fa4a79cd4f62.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.949ex; height:2.843ex;" alt="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}" loading="lazy"></span> appearing in the product is then associated
with either a parametric form (i.e., a function <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f_{\mu }\left(L_{k}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>μ<!-- μ --></mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f_{\mu }\left(L_{k}\right)}</annotation>
</semantics>
</math></span><img src="./2d84ed0622d6dd0967ec78186fe4d0340c11d19c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.231ex; height:3.009ex;" alt="{\displaystyle f_{\mu }\left(L_{k}\right)}" loading="lazy"></span>) or a question to another Bayesian program <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)=P\left(L\mid R\wedge {\widehat {\delta }}\wedge {\widehat {\pi }}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>=</mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>L</mi>
<mo>∣<!-- ∣ --></mo>
<mi>R</mi>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>δ<!-- δ --></mi>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>π<!-- π --></mi>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)=P\left(L\mid R\wedge {\widehat {\delta }}\wedge {\widehat {\pi }}\right)}</annotation>
</semantics>
</math></span><img src="./29f6af4f9dfa69feaab9a33e72bdbebc68073117.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.838ex; width:40.039ex; height:4.843ex;" alt="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)=P\left(L\mid R\wedge {\widehat {\delta }}\wedge {\widehat {\pi }}\right)}" loading="lazy"></span>.
</p><p>When it is a form <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle f_{\mu }\left(L_{k}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>f</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>μ<!-- μ --></mi>
</mrow>
</msub>
<mrow>
<mo>(</mo>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle f_{\mu }\left(L_{k}\right)}</annotation>
</semantics>
</math></span><img src="./2d84ed0622d6dd0967ec78186fe4d0340c11d19c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:7.231ex; height:3.009ex;" alt="{\displaystyle f_{\mu }\left(L_{k}\right)}" loading="lazy"></span>, in general, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \mu }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>μ<!-- μ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \mu }</annotation>
</semantics>
</math></span><img src="./9fd47b2a39f7a7856952afec1f1db72c67af6161.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:1.402ex; height:2.176ex;" alt="{\displaystyle \mu }" loading="lazy"></span> is a vector of parameters that may depend on <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle R_{k}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle R_{k}}</annotation>
</semantics>
</math></span><img src="./7ceaa1ef568e99be510c49bc30d07d094e150a6b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.853ex; height:2.509ex;" alt="{\displaystyle R_{k}}" loading="lazy"></span> or <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta }</annotation>
</semantics>
</math></span><img src="./c5321cfa797202b3e1f8620663ff43c4660ea03a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }" loading="lazy"></span> or both. Learning
takes place when some of these parameters are computed using the data set <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \delta }">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>δ<!-- δ --></mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \delta }</annotation>
</semantics>
</math></span><img src="./c5321cfa797202b3e1f8620663ff43c4660ea03a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.049ex; height:2.343ex;" alt="{\displaystyle \delta }" loading="lazy"></span>.
</p><p>An important feature of Bayesian Programming is this capacity to use questions to other Bayesian programs as components of the definition of a new Bayesian program. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>R</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./e18b962cc913734580d8531704a0fa4a79cd4f62.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.949ex; height:2.843ex;" alt="{\displaystyle P\left(L_{k}\mid R_{k}\wedge \delta \wedge \pi \right)}" loading="lazy"></span> is obtained by some inferences done by another Bayesian program defined by the specifications <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\widehat {\pi }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>π<!-- π --></mi>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\widehat {\pi }}}</annotation>
</semantics>
</math></span><img src="./7a160e47c3a5683ed19397441ae698f7cf289392.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; margin-right: -0.003ex; width:1.335ex; height:2.343ex;" alt="{\displaystyle {\widehat {\pi }}}" loading="lazy"></span> and the data <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\widehat {\delta }}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mover>
<mi>δ<!-- δ --></mi>
<mo>^<!-- ^ --></mo>
</mover>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\widehat {\delta }}}</annotation>
</semantics>
</math></span><img src="./fe290e363518844fff77a2cae1caf27e69dea68c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.302ex; height:2.843ex;" alt="{\displaystyle {\widehat {\delta }}}" loading="lazy"></span>. This is similar to calling a subroutine in classical programming and provides an easy way to build <a href="Bayesian_network#Hierarchical_models" title="Bayesian network">hierarchical models</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Question">Question</h3></div>
<p>Given a description (i.e., <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./5663410f8efb9260c5cf596348fcc8d7169b1073.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:30.886ex; height:2.843ex;" alt="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}" loading="lazy"></span>), a question is obtained by partitioning <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow>
<mo>{</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
</mrow>
<mo>}</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}</annotation>
</semantics>
</math></span><img src="./c8a1404b5d8baa911d69b88d95ad7a11ecfc250b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:18.11ex; height:2.843ex;" alt="{\displaystyle \left\{X_{1},X_{2},\cdots ,X_{N}\right\}}" loading="lazy"></span>
into three sets: the searched variables, the known variables and
the free variables.
</p><p>The 3 variables <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Searched}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
<mi>c</mi>
<mi>h</mi>
<mi>e</mi>
<mi>d</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Searched}</annotation>
</semantics>
</math></span><img src="./2702588c7c19f8de1b8e6cee92602a18ca68f564.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:9.506ex; height:2.176ex;" alt="{\displaystyle Searched}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Known}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>K</mi>
<mi>n</mi>
<mi>o</mi>
<mi>w</mi>
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Known}</annotation>
</semantics>
</math></span><img src="./ad911fc4c500a9fdd0d1c51d7dd46d36a485e2bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.647ex; height:2.176ex;" alt="{\displaystyle Known}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Free}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>F</mi>
<mi>r</mi>
<mi>e</mi>
<mi>e</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Free}</annotation>
</semantics>
</math></span><img src="./34a8c3afffbc72448f358e2d21aeeb99f7f836ed.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:4.956ex; height:2.176ex;" alt="{\displaystyle Free}" loading="lazy"></span> are defined as the
conjunction of the variables belonging to
these sets.
</p><p>A question is defined as the set
of distributions:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(Searched\mid {\text{Known}}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mi>S</mi>
<mi>e</mi>
<mi>a</mi>
<mi>r</mi>
<mi>c</mi>
<mi>h</mi>
<mi>e</mi>
<mi>d</mi>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(Searched\mid {\text{Known}}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./9d7a409caaf38147df1e076bd4121d7f40a93601.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:30.165ex; height:2.843ex;" alt="{\displaystyle P\left(Searched\mid {\text{Known}}\wedge \delta \wedge \pi \right)}" loading="lazy"></span></dd></dl>
<p>made of many "instantiated questions" as the cardinal of <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Known}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>K</mi>
<mi>n</mi>
<mi>o</mi>
<mi>w</mi>
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Known}</annotation>
</semantics>
</math></span><img src="./ad911fc4c500a9fdd0d1c51d7dd46d36a485e2bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:7.647ex; height:2.176ex;" alt="{\displaystyle Known}" loading="lazy"></span>,
each instantiated question being the distribution:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./ac5bd1316a8c9d85d3ef7e7684e1f2a650a04c2b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.707ex; height:2.843ex;" alt="{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading3"><h3 id="Inference">Inference</h3></div>
<p>Given the joint distribution <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>X</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./5663410f8efb9260c5cf596348fcc8d7169b1073.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:30.886ex; height:2.843ex;" alt="{\displaystyle P\left(X_{1}\wedge X_{2}\wedge \cdots \wedge X_{N}\mid \delta \wedge \pi \right)}" loading="lazy"></span>, it is always possible to compute any possible question using the following general inference:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&\sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\right]\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle P\left({\text{Known}}\mid \delta \wedge \pi \right)}}\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle \sum _{{\text{Free}}\wedge {\text{Searched}}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}}\\={}&{\frac {1}{Z}}\times \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi></mi>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mstyle>
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mstyle>
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mstyle>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mi>Z</mi>
</mfrac>
</mrow>
<mo>×<!-- × --></mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&\sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\right]\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle P\left({\text{Known}}\mid \delta \wedge \pi \right)}}\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle \sum _{{\text{Free}}\wedge {\text{Searched}}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}}\\={}&{\frac {1}{Z}}\times \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./e8e89d4673f42532ccdc53d02fb71a3435bba866.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -17.671ex; width:53.178ex; height:36.509ex;" alt="{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&\sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\right]\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle P\left({\text{Known}}\mid \delta \wedge \pi \right)}}\\={}&{\frac {\displaystyle \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}{\displaystyle \sum _{{\text{Free}}\wedge {\text{Searched}}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]}}\\={}&{\frac {1}{Z}}\times \sum _{\text{Free}}\left[P\left({\text{Searched}}\wedge {\text{Free}}\wedge {\text{Known}}\mid \delta \wedge \pi \right)\right]\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>where the first equality results from the marginalization rule, the second
results from <a href="Bayes'_theorem" title="Bayes' theorem">Bayes' theorem</a> and the third corresponds to a second application of marginalization. The denominator appears to be a normalization term and can be replaced by a constant <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Z}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>Z</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Z}</annotation>
</semantics>
</math></span><img src="./1cc6b75e09a8aa3f04d8584b11db534f88fb56bd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.68ex; height:2.176ex;" alt="{\displaystyle Z}" loading="lazy"></span>.
</p><p>Theoretically, this allows to solve any Bayesian inference problem. In practice,
however, the cost of computing exhaustively and exactly <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./ac5bd1316a8c9d85d3ef7e7684e1f2a650a04c2b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:29.707ex; height:2.843ex;" alt="{\displaystyle P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)}" loading="lazy"></span> is too great in almost all cases.
</p><p>Replacing the joint distribution by its decomposition we get:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&{\frac {1}{Z}}\sum _{\text{Free}}\left[\prod _{k=1}^{K}\left[P\left(L_{i}\mid K_{i}\wedge \pi \right)\right]\right]\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Searched</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Known</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<mi>δ<!-- δ --></mi>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mn>1</mn>
<mi>Z</mi>
</mfrac>
</mrow>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Free</mtext>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>k</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>K</mi>
</mrow>
</munderover>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>L</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>K</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&{\frac {1}{Z}}\sum _{\text{Free}}\left[\prod _{k=1}^{K}\left[P\left(L_{i}\mid K_{i}\wedge \pi \right)\right]\right]\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./9949ce61882e0abfcd9ddd5e3c24bac2d42f22ae.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -4.671ex; width:32.912ex; height:10.509ex;" alt="{\displaystyle {\begin{aligned}&P\left({\text{Searched}}\mid {\text{Known}}\wedge \delta \wedge \pi \right)\\={}&{\frac {1}{Z}}\sum _{\text{Free}}\left[\prod _{k=1}^{K}\left[P\left(L_{i}\mid K_{i}\wedge \pi \right)\right]\right]\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>which is usually a much simpler expression to compute, as the dimensionality of the problem is considerably reduced by the decomposition into a product of lower dimension distributions.
</p>
<div class="mw-heading mw-heading2"><h2 id="Example">Example</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Bayesian_spam_detection">Bayesian spam detection</h3></div>
<p>The purpose of <a href="Bayesian_spam_filtering" class="mw-redirect" title="Bayesian spam filtering">Bayesian spam filtering</a> is to eliminate junk e-mails.
</p><p>The problem is very easy to formulate. E-mails should be classified
into one of two categories: non-spam or spam. The only available information to classify the e-mails is their content: a set of words. Using these words without taking the order into account is commonly called a <a href="Bag_of_words" class="mw-redirect" title="Bag of words">bag of words model</a>.
</p><p>The classifier should furthermore be able to adapt to its user and to learn
from experience. Starting from an initial standard setting, the classifier should
modify its internal parameters when the user disagrees with its own decision.
It will hence adapt to the user's criteria to differentiate between non-spam and
spam. It will improve its results as it encounters increasingly classified e-mails.
</p>
<div class="mw-heading mw-heading4"><h4 id="Variables">Variables</h4></div>
<p>The variables necessary to write this program are as follows:
</p>
<ol><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Spam}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mi>p</mi>
<mi>a</mi>
<mi>m</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Spam}</annotation>
</semantics>
</math></span><img src="./6083fa2815987caf76532ef396175f0809537b3e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:5.939ex; height:2.509ex;" alt="{\displaystyle Spam}" loading="lazy"></span>: a binary variable, false if the e-mail is not spam and true otherwise.</li>
<li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle W_{0},W_{1},\ldots ,W_{N-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle W_{0},W_{1},\ldots ,W_{N-1}}</annotation>
</semantics>
</math></span><img src="./7bea0964e4ddab485b670d95c020094630fece21.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:18.694ex; height:2.509ex;" alt="{\displaystyle W_{0},W_{1},\ldots ,W_{N-1}}" loading="lazy"></span>: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> <a href="Binary_data" title="Binary data">binary variables</a>. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle W_{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle W_{n}}</annotation>
</semantics>
</math></span><img src="./0fa0340872ef1d6511eaf27ed7c57f98589a693d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:3.412ex; height:2.509ex;" alt="{\displaystyle W_{n}}" loading="lazy"></span> is true if the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{th}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mi>h</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n^{th}}</annotation>
</semantics>
</math></span><img src="./5d54f58e8109a3d758d6712278b03f6aea6e696c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.167ex; height:2.676ex;" alt="{\displaystyle n^{th}}" loading="lazy"></span> word of the dictionary is present in the text.</li></ol>
<p>These <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N+1}</annotation>
</semantics>
</math></span><img src="./fdf2b9cbfe9051fd4e7b50c8028866d497eac35b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:6.066ex; height:2.343ex;" alt="{\displaystyle N+1}" loading="lazy"></span> binary variables sum up all the information
about an e-mail.
</p>
<div class="mw-heading mw-heading4"><h4 id="Decomposition_2">Decomposition</h4></div>
<p>Starting from the joint distribution and applying recursively <a href="Bayes'_theorem" title="Bayes' theorem">Bayes' theorem</a> we obtain:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P({\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-1})\\={}&P({\text{Spam}})\times P(W_{0}\mid {\text{Spam}})\times P(W_{1}\mid {\text{Spam}}\wedge W_{0})\\&\times \cdots \\&\times P\left(W_{N-1}\mid {\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-2}\right)\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi></mi>
<mo>×<!-- × --></mo>
<mo>⋯<!-- ⋯ --></mo>
</mtd>
</mtr>
<mtr>
<mtd></mtd>
<mtd>
<mi></mi>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>2</mn>
</mrow>
</msub>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P({\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-1})\\={}&P({\text{Spam}})\times P(W_{0}\mid {\text{Spam}})\times P(W_{1}\mid {\text{Spam}}\wedge W_{0})\\&\times \cdots \\&\times P\left(W_{N-1}\mid {\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-2}\right)\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./5d586b120779f8c18ffa9a70d00c6e174679955a.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.505ex; width:52.801ex; height:12.176ex;" alt="{\displaystyle {\begin{aligned}&P({\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-1})\\={}&P({\text{Spam}})\times P(W_{0}\mid {\text{Spam}})\times P(W_{1}\mid {\text{Spam}}\wedge W_{0})\\&\times \cdots \\&\times P\left(W_{N-1}\mid {\text{Spam}}\wedge W_{0}\wedge \cdots \wedge W_{N-2}\right)\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>This is an exact mathematical expression.
</p><p>It can be drastically simplified by assuming that the probability of appearance of a word knowing the nature of the text (spam or not) is independent of the appearance of the other words. This is the <a href="Naive_Bayes" class="mw-redirect" title="Naive Bayes">naive Bayes</a> assumption and this makes this spam filter a <a href="Naive_Bayes" class="mw-redirect" title="Naive Bayes">naive Bayes</a> model.
</p><p>For instance, the programmer can assume that:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(W_{1}\mid {\text{Spam}}\land W_{0})=P(W_{1}\mid {\text{Spam}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(W_{1}\mid {\text{Spam}}\land W_{0})=P(W_{1}\mid {\text{Spam}})}</annotation>
</semantics>
</math></span><img src="./c50ec88b1a83046852b0f92fbc6e2f2db09f83d6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:37.775ex; height:2.843ex;" alt="{\displaystyle P(W_{1}\mid {\text{Spam}}\land W_{0})=P(W_{1}\mid {\text{Spam}})}" loading="lazy"></span></dd></dl>
<p>to finally obtain:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P({\text{Spam}}\land W_{0}\land \ldots \land W_{N-1})=P({\text{Spam}})\prod _{n=0}^{N-1}[P(W_{n}\mid {\text{Spam}})]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>…<!-- … --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mo stretchy="false">[</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P({\text{Spam}}\land W_{0}\land \ldots \land W_{N-1})=P({\text{Spam}})\prod _{n=0}^{N-1}[P(W_{n}\mid {\text{Spam}})]}</annotation>
</semantics>
</math></span><img src="./b0128594034131b2020d657dfc7a5b6e20b08754.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:61.107ex; height:7.343ex;" alt="{\displaystyle P({\text{Spam}}\land W_{0}\land \ldots \land W_{N-1})=P({\text{Spam}})\prod _{n=0}^{N-1}[P(W_{n}\mid {\text{Spam}})]}" loading="lazy"></span></dd></dl>
<p>This kind of assumption is known as the <a href="Naive_Bayes_classifier" title="Naive Bayes classifier">naive Bayes' assumption</a>. It is "naive" in the sense that the independence between words is clearly not completely true. For instance, it completely neglects that the appearance of pairs of words may be more significant than isolated appearances. However, the programmer may assume this hypothesis and may develop the model and the associated inferences to test how reliable and efficient it is.
</p>
<div class="mw-heading mw-heading4"><h4 id="Parametric_forms">Parametric forms</h4></div>
<p>To be able to compute the joint distribution, the programmer must now specify the
<span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N+1}</annotation>
</semantics>
</math></span><img src="./fdf2b9cbfe9051fd4e7b50c8028866d497eac35b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:6.066ex; height:2.343ex;" alt="{\displaystyle N+1}" loading="lazy"></span> distributions appearing in the decomposition:
</p>
<ol><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P({\text{Spam}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P({\text{Spam}})}</annotation>
</semantics>
</math></span><img src="./3168af3d49f7a7ee975f6311ecccc6f733ab6bbc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:9.238ex; height:2.843ex;" alt="{\displaystyle P({\text{Spam}})}" loading="lazy"></span> is a prior defined, for instance, by <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P([{\text{Spam}}=1])=0.75}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mn>1</mn>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0.75</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P([{\text{Spam}}=1])=0.75}</annotation>
</semantics>
</math></span><img src="./28323086cc18aa32cd855cad0c2a6895ff317214.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:22.025ex; height:2.843ex;" alt="{\displaystyle P([{\text{Spam}}=1])=0.75}" loading="lazy"></span></li>
<li>Each of the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> forms <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(W_{n}\mid {\text{Spam}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(W_{n}\mid {\text{Spam}})}</annotation>
</semantics>
</math></span><img src="./0428cc7826d4ba301b426d1f419dda1071329ba4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.587ex; height:2.843ex;" alt="{\displaystyle P(W_{n}\mid {\text{Spam}})}" loading="lazy"></span> may be specified using <a href="Laplace_rule_of_succession" class="mw-redirect" title="Laplace rule of succession">Laplace rule of succession</a> (this is a pseudocounts-based <a href="N-gram#Smoothing_techniques" title="N-gram">smoothing technique</a> to counter the <a href="PPM_compression_algorithm" class="mw-redirect" title="PPM compression algorithm">zero-frequency problem</a> of words never-seen-before):
<ol><li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{false}}])={\frac {1+a_{f}^{n}}{2+a_{f}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mrow>
<mrow>
<mn>2</mn>
<mo>+</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{false}}])={\frac {1+a_{f}^{n}}{2+a_{f}}}}</annotation>
</semantics>
</math></span><img src="./993948361ac4f01d716daee166ac993e88dc4fa4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:33.835ex; height:6.676ex;" alt="{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{false}}])={\frac {1+a_{f}^{n}}{2+a_{f}}}}" loading="lazy"></span></li>
<li><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{true}}])={\frac {1+a_{t}^{n}}{2+a_{t}}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mrow>
<mrow>
<mn>2</mn>
<mo>+</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{true}}])={\frac {1+a_{t}^{n}}{2+a_{t}}}}</annotation>
</semantics>
</math></span><img src="./60b5a547cf7753bb7bc52f2a3b6d6dc841cb87eb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.171ex; width:33.506ex; height:5.843ex;" alt="{\displaystyle P(W_{n}\mid [{\text{Spam}}={\text{true}}])={\frac {1+a_{t}^{n}}{2+a_{t}}}}" loading="lazy"></span></li></ol></li></ol>
<p>where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{f}^{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{f}^{n}}</annotation>
</semantics>
</math></span><img src="./4d7f4399c85b2ccf999c11e45e181e3dcc789db2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:2.448ex; height:3.176ex;" alt="{\displaystyle a_{f}^{n}}" loading="lazy"></span> stands for the number of appearances of the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{th}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mi>h</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n^{th}}</annotation>
</semantics>
</math></span><img src="./5d54f58e8109a3d758d6712278b03f6aea6e696c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.167ex; height:2.676ex;" alt="{\displaystyle n^{th}}" loading="lazy"></span> word in non-spam e-mails and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{f}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{f}}</annotation>
</semantics>
</math></span><img src="./3eb2b84dda825421629764ce4f9f9805a9f56412.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.366ex; height:2.343ex;" alt="{\displaystyle a_{f}}" loading="lazy"></span> stands for the total number of non-spam e-mails. Similarly, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{t}^{n}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{t}^{n}}</annotation>
</semantics>
</math></span><img src="./41c7d776a454cec4d0bc158b844166ba68de734d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.448ex; height:2.843ex;" alt="{\displaystyle a_{t}^{n}}" loading="lazy"></span> stands for the number of appearances of the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n^{th}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>n</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mi>h</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n^{th}}</annotation>
</semantics>
</math></span><img src="./5d54f58e8109a3d758d6712278b03f6aea6e696c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.167ex; height:2.676ex;" alt="{\displaystyle n^{th}}" loading="lazy"></span> word in spam e-mails and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{t}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{t}}</annotation>
</semantics>
</math></span><img src="./77fce84b535e9e195e3d30ce5ae09b372d87e2e9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.056ex; height:2.009ex;" alt="{\displaystyle a_{t}}" loading="lazy"></span> stands for the total number of spam e-mails.
</p>
<div class="mw-heading mw-heading4"><h4 id="Identification">Identification</h4></div>
<p>The <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle N}</annotation>
</semantics>
</math></span><img src="./f5e3890c981ae85503089652feb48b191b57aae3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.064ex; height:2.176ex;" alt="{\displaystyle N}" loading="lazy"></span> forms <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(W_{n}\mid {\text{Spam}})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(W_{n}\mid {\text{Spam}})}</annotation>
</semantics>
</math></span><img src="./0428cc7826d4ba301b426d1f419dda1071329ba4.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.587ex; height:2.843ex;" alt="{\displaystyle P(W_{n}\mid {\text{Spam}})}" loading="lazy"></span> are not yet completely specified because the <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2N+2}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>2</mn>
<mi>N</mi>
<mo>+</mo>
<mn>2</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2N+2}</annotation>
</semantics>
</math></span><img src="./8b8cbf99a36de6fb12041396be88d4b07a0df912.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:7.229ex; height:2.343ex;" alt="{\displaystyle 2N+2}" loading="lazy"></span> parameters <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{f}^{n=0,\ldots ,N-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{f}^{n=0,\ldots ,N-1}}</annotation>
</semantics>
</math></span><img src="./7e3db30f43bc528dda1a8744b0268e5b6066ff81.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.338ex; width:10.949ex; height:3.843ex;" alt="{\displaystyle a_{f}^{n=0,\ldots ,N-1}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{t}^{n=0,\ldots ,N-1}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msubsup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{t}^{n=0,\ldots ,N-1}}</annotation>
</semantics>
</math></span><img src="./836db977b6f93c4e66fdfd5aec1eee8fb12d205c.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:10.949ex; height:3.509ex;" alt="{\displaystyle a_{t}^{n=0,\ldots ,N-1}}" loading="lazy"></span>, <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{f}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{f}}</annotation>
</semantics>
</math></span><img src="./3eb2b84dda825421629764ce4f9f9805a9f56412.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:2.366ex; height:2.343ex;" alt="{\displaystyle a_{f}}" loading="lazy"></span> and <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{t}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{t}}</annotation>
</semantics>
</math></span><img src="./77fce84b535e9e195e3d30ce5ae09b372d87e2e9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:2.056ex; height:2.009ex;" alt="{\displaystyle a_{t}}" loading="lazy"></span> have no values yet.
</p><p>The identification of these parameters could be done either by batch processing a series of classified e-mails or by an incremental updating of the parameters using the user's classifications of the e-mails as they arrive.
</p><p>Both methods could be combined: the system could start with initial standard values of these parameters issued from a generic database, then some <a href="Incremental_learning" title="Incremental learning">incremental learning</a> customizes the classifier to each individual user.
</p>
<div class="mw-heading mw-heading4"><h4 id="Question_2">Question</h4></div>
<p>The question asked to the program is: "what is the probability for a given text to be spam knowing which words appear and don't appear in this text?"
It can be formalized by:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})}</annotation>
</semantics>
</math></span><img src="./c2e46998686378f9bdac4e3b256c45955461b9eb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:27.238ex; height:2.843ex;" alt="{\displaystyle P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})}" loading="lazy"></span></dd></dl>
<p>which can be computed as follows:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})\\={}&{\frac {\displaystyle P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]}{\displaystyle \sum _{\text{Spam}}[P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]]}}\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mo stretchy="false">[</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo stretchy="false">]</mo>
</mstyle>
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
</munder>
<mo stretchy="false">[</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mo stretchy="false">[</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo stretchy="false">]</mo>
<mo stretchy="false">]</mo>
</mstyle>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})\\={}&{\frac {\displaystyle P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]}{\displaystyle \sum _{\text{Spam}}[P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]]}}\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./0f2f48d2a47db007ecbfd26c3ab235518d3bad7e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -8.838ex; width:37.89ex; height:18.843ex;" alt="{\displaystyle {\begin{aligned}&P({\text{Spam}}\mid w_{0}\wedge \cdots \wedge w_{N-1})\\={}&{\frac {\displaystyle P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]}{\displaystyle \sum _{\text{Spam}}[P({\text{Spam}})\prod _{n=0}^{N-1}[P(w_{n}\mid {\text{Spam}})]]}}\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>The denominator appears to be a <a href="Normalizing_constant" title="Normalizing constant">normalization constant</a>. It is not necessary to compute it to decide if we are dealing with spam. For instance, an easy trick is to compute the ratio:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&{\frac {P([{\text{Spam}}={\text{true}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}{P([{\text{Spam}}={\text{false}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}}\\={}&{\frac {P([{\text{Spam}}={\text{true}}])}{P([{\text{Spam}}={\text{false}}])}}\times \prod _{n=0}^{N-1}\left[{\frac {P(w_{n}\mid [{\text{Spam}}={\text{true}}])}{P(w_{n}\mid [{\text{Spam}}={\text{false}}])}}\right]\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mrow>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mrow>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
<mo>×<!-- × --></mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mrow>
<mo>[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mrow>
<mrow>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mrow>
</mfrac>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&{\frac {P([{\text{Spam}}={\text{true}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}{P([{\text{Spam}}={\text{false}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}}\\={}&{\frac {P([{\text{Spam}}={\text{true}}])}{P([{\text{Spam}}={\text{false}}])}}\times \prod _{n=0}^{N-1}\left[{\frac {P(w_{n}\mid [{\text{Spam}}={\text{true}}])}{P(w_{n}\mid [{\text{Spam}}={\text{false}}])}}\right]\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./97e9cfd466e7d8bd8cdb01c3da2e12e2adec4a78.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.338ex; width:55.139ex; height:13.843ex;" alt="{\displaystyle {\begin{aligned}&{\frac {P([{\text{Spam}}={\text{true}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}{P([{\text{Spam}}={\text{false}}]\mid w_{0}\wedge \cdots \wedge w_{N-1})}}\\={}&{\frac {P([{\text{Spam}}={\text{true}}])}{P([{\text{Spam}}={\text{false}}])}}\times \prod _{n=0}^{N-1}\left[{\frac {P(w_{n}\mid [{\text{Spam}}={\text{true}}])}{P(w_{n}\mid [{\text{Spam}}={\text{false}}])}}\right]\end{aligned}}}" loading="lazy"></span></dd></dl>
<p>This computation is faster and easier because it requires only <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 2N}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>2</mn>
<mi>N</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 2N}</annotation>
</semantics>
</math></span><img src="./eacbd5b0e609e1f3d7da751ac0d50113d27d22aa.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:3.226ex; height:2.176ex;" alt="{\displaystyle 2N}" loading="lazy"></span> products.
</p>
<div class="mw-heading mw-heading4"><h4 id="Bayesian_program">Bayesian program</h4></div>
<p>The Bayesian spam filter program is completely defined by:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:{\text{Spam}},W_{0},W_{1}\ldots W_{N-1}\\Dc:{\begin{cases}P({\text{Spam}}\land W_{0}\land \ldots \land W_{n}\land \ldots \land W_{N-1})\\=P({\text{Spam}})\prod _{n=0}^{N-1}P(W_{n}\mid {\text{Spam}})\end{cases}}\\Fo:{\begin{cases}P({\text{Spam}}):{\begin{cases}P([{\text{Spam}}={\text{false}}])=0.25\\P([{\text{Spam}}={\text{true}}])=0.75\end{cases}}\\P(W_{n}\mid {\text{Spam}}):{\begin{cases}P(W_{n}\mid [{\text{Spam}}={\text{false}}])\\={\frac {1+a_{f}^{n}}{2+a_{f}}}\\P(W_{n}\mid [{\text{Spam}}={\text{true}}])\\={\frac {1+a_{t}^{n}}{2+a_{t}}}\end{cases}}\\\end{cases}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\Qu:P({\text{Spam}}\mid w_{0}\land \ldots \land w_{n}\land \ldots \land w_{N-1})\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo movablelimits="true" form="prefix">Pr</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>D</mi>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>S</mi>
<mi>p</mi>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>V</mi>
<mi>a</mi>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>,</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>,</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
<mo>…<!-- … --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>D</mi>
<mi>c</mi>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>…<!-- … --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>…<!-- … --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</munderover>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>F</mi>
<mi>o</mi>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0.25</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
<mo>=</mo>
<mn>0.75</mn>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo stretchy="false">)</mo>
<mo>:</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>false</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mrow>
<mrow>
<mn>2</mn>
<mo>+</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>f</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>W</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∣<!-- ∣ --></mo>
<mo stretchy="false">[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>true</mtext>
</mrow>
<mo stretchy="false">]</mo>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mfrac>
<mrow>
<mn>1</mn>
<mo>+</mo>
<msubsup>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msubsup>
</mrow>
<mrow>
<mn>2</mn>
<mo>+</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msub>
</mrow>
</mfrac>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Identification (based on </mtext>
</mrow>
<mi>δ<!-- δ --></mi>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Q</mi>
<mi>u</mi>
<mo>:</mo>
<mi>P</mi>
<mo stretchy="false">(</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Spam</mtext>
</mrow>
<mo>∣<!-- ∣ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>…<!-- … --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>n</mi>
</mrow>
</msub>
<mo>∧<!-- ∧ --></mo>
<mo>…<!-- … --></mo>
<mo>∧<!-- ∧ --></mo>
<msub>
<mi>w</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>N</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:{\text{Spam}},W_{0},W_{1}\ldots W_{N-1}\\Dc:{\begin{cases}P({\text{Spam}}\land W_{0}\land \ldots \land W_{n}\land \ldots \land W_{N-1})\\=P({\text{Spam}})\prod _{n=0}^{N-1}P(W_{n}\mid {\text{Spam}})\end{cases}}\\Fo:{\begin{cases}P({\text{Spam}}):{\begin{cases}P([{\text{Spam}}={\text{false}}])=0.25\\P([{\text{Spam}}={\text{true}}])=0.75\end{cases}}\\P(W_{n}\mid {\text{Spam}}):{\begin{cases}P(W_{n}\mid [{\text{Spam}}={\text{false}}])\\={\frac {1+a_{f}^{n}}{2+a_{f}}}\\P(W_{n}\mid [{\text{Spam}}={\text{true}}])\\={\frac {1+a_{t}^{n}}{2+a_{t}}}\end{cases}}\\\end{cases}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\Qu:P({\text{Spam}}\mid w_{0}\land \ldots \land w_{n}\land \ldots \land w_{N-1})\end{cases}}}</annotation>
</semantics>
</math></span><img src="./298794c932a3de3a1ecf61aca016e058488bd396.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -17.671ex; width:70.573ex; height:36.509ex;" alt="{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:{\text{Spam}},W_{0},W_{1}\ldots W_{N-1}\\Dc:{\begin{cases}P({\text{Spam}}\land W_{0}\land \ldots \land W_{n}\land \ldots \land W_{N-1})\\=P({\text{Spam}})\prod _{n=0}^{N-1}P(W_{n}\mid {\text{Spam}})\end{cases}}\\Fo:{\begin{cases}P({\text{Spam}}):{\begin{cases}P([{\text{Spam}}={\text{false}}])=0.25\\P([{\text{Spam}}={\text{true}}])=0.75\end{cases}}\\P(W_{n}\mid {\text{Spam}}):{\begin{cases}P(W_{n}\mid [{\text{Spam}}={\text{false}}])\\={\frac {1+a_{f}^{n}}{2+a_{f}}}\\P(W_{n}\mid [{\text{Spam}}={\text{true}}])\\={\frac {1+a_{t}^{n}}{2+a_{t}}}\end{cases}}\\\end{cases}}\\\end{cases}}\\{\text{Identification (based on }}\delta )\end{cases}}\\Qu:P({\text{Spam}}\mid w_{0}\land \ldots \land w_{n}\land \ldots \land w_{N-1})\end{cases}}}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading3"><h3 id="Bayesian_filter,_Kalman_filter_and_hidden_Markov_model">Bayesian filter, Kalman filter and hidden Markov model</h3></div>
<p>Bayesian filters (often called <a href="Recursive_Bayesian_estimation" title="Recursive Bayesian estimation">Recursive Bayesian estimation</a>) are generic probabilistic models for time evolving processes. Numerous models are particular instances of this generic approach, for instance: the <a href="Kalman_filter" title="Kalman filter">Kalman filter</a> or the <a href="Hidden_Markov_model" title="Hidden Markov model">Hidden Markov model</a> (HMM).
</p>
<div class="mw-heading mw-heading4"><h4 id="Variables_2">Variables</h4></div>
<ul><li>Variables <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S^{0},\ldots ,S^{T}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S^{0},\ldots ,S^{T}}</annotation>
</semantics>
</math></span><img src="./7ef149e2ac8c0f7789ccad6650956b96fa7ac588.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:10.665ex; height:3.009ex;" alt="{\displaystyle S^{0},\ldots ,S^{T}}" loading="lazy"></span> are a time series of state variables considered to be on a time horizon ranging from <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 0}</annotation>
</semantics>
</math></span><img src="./2aae8864a3c1fec9585261791a809ddec1489950.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.162ex; height:2.176ex;" alt="{\displaystyle 0}" loading="lazy"></span> to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle T}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>T</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle T}</annotation>
</semantics>
</math></span><img src="./ec7200acd984a1d3a3d7dc455e262fbe54f7f6e0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.636ex; height:2.176ex;" alt="{\displaystyle T}" loading="lazy"></span>.</li>
<li>Variables <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle O^{0},\ldots ,O^{T}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle O^{0},\ldots ,O^{T}}</annotation>
</semantics>
</math></span><img src="./2fa703de5941de1669b4741797fc41150f2e69dd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:11.168ex; height:3.009ex;" alt="{\displaystyle O^{0},\ldots ,O^{T}}" loading="lazy"></span> are a time series of observation variables on the same horizon.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Decomposition_3">Decomposition</h4></div>
<p>The decomposition is based:
</p>
<ul><li>on <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(S^{t}\mid S^{t-1})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(S^{t}\mid S^{t-1})}</annotation>
</semantics>
</math></span><img src="./ead71aa10540c97d5f70ae35f93197478287d4bb.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:12.288ex; height:3.176ex;" alt="{\displaystyle P(S^{t}\mid S^{t-1})}" loading="lazy"></span>, called the system model, transition model or dynamic model, which formalizes the transition from the state at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t-1}</annotation>
</semantics>
</math></span><img src="./a215d9553945bb84b3b5a79cc796fb7d6e0629f0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.842ex; height:2.343ex;" alt="{\displaystyle t-1}" loading="lazy"></span> to the state at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span>;</li>
<li>on <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(O^{t}\mid S^{t})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(O^{t}\mid S^{t})}</annotation>
</semantics>
</math></span><img src="./5b2ae7c2205cc0a4a585c89b88b7f48d7c77e0e7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:10.439ex; height:3.009ex;" alt="{\displaystyle P(O^{t}\mid S^{t})}" loading="lazy"></span>, called the observation model, which expresses what can be observed at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span> when the system is in state <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S^{t}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S^{t}}</annotation>
</semantics>
</math></span><img src="./b530fb2495d517c108d8429ccd6af1fa62e2ce0d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.348ex; height:2.509ex;" alt="{\displaystyle S^{t}}" loading="lazy"></span>;</li>
<li>on an initial state at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 0}</annotation>
</semantics>
</math></span><img src="./2aae8864a3c1fec9585261791a809ddec1489950.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.162ex; height:2.176ex;" alt="{\displaystyle 0}" loading="lazy"></span>: <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(S^{0}\wedge O^{0})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(S^{0}\wedge O^{0})}</annotation>
</semantics>
</math></span><img src="./a58bb1c99c0be0c10d1d7c302b7d26de069f51de.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:11.541ex; height:3.176ex;" alt="{\displaystyle P(S^{0}\wedge O^{0})}" loading="lazy"></span>.</li></ul>
<div class="mw-heading mw-heading4"><h4 id="Parametrical_forms">Parametrical forms</h4></div>
<p>The parametrical forms are not constrained and different choices lead to different well-known models: see Kalman filters and Hidden Markov models just below.
</p>
<div class="mw-heading mw-heading4"><h4 id="Question_3">Question</h4></div>
<p>The typical question for such models is <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(S^{t+k}\mid O^{0}\wedge \cdots \wedge O^{t}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>+</mo>
<mi>k</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(S^{t+k}\mid O^{0}\wedge \cdots \wedge O^{t}\right)}</annotation>
</semantics>
</math></span><img src="./d9ca7ba63b2182d50b4a47e7b859a168f1dd1849.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:23.997ex; height:3.343ex;" alt="{\displaystyle P\left(S^{t+k}\mid O^{0}\wedge \cdots \wedge O^{t}\right)}" loading="lazy"></span>: what is the probability distribution for the state at time <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t+k}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
<mo>+</mo>
<mi>k</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t+k}</annotation>
</semantics>
</math></span><img src="./0dbfb9111df5d601b28fd7702d6e5889e3ba6c10.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:4.891ex; height:2.343ex;" alt="{\displaystyle t+k}" loading="lazy"></span> knowing the observations from instant <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle 0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle 0}</annotation>
</semantics>
</math></span><img src="./2aae8864a3c1fec9585261791a809ddec1489950.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.162ex; height:2.176ex;" alt="{\displaystyle 0}" loading="lazy"></span> to <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle t}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>t</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle t}</annotation>
</semantics>
</math></span><img src="./65658b7b223af9e1acc877d848888ecdb4466560.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:0.84ex; height:2.009ex;" alt="{\displaystyle t}" loading="lazy"></span>?
</p><p>The most common case is Bayesian filtering where <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle k=0}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle k=0}</annotation>
</semantics>
</math></span><img src="./6307c8a99dad7d0bcb712352ae0a748bd99a038b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:5.472ex; height:2.176ex;" alt="{\displaystyle k=0}" loading="lazy"></span>, which searches for the present state, knowing past observations.
</p><p>However, it is also possible <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (k>0)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo>></mo>
<mn>0</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (k>0)}</annotation>
</semantics>
</math></span><img src="./fde8b1151b0c84c5c3e000002af2df2a99ff09e3.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.281ex; height:2.843ex;" alt="{\displaystyle (k>0)}" loading="lazy"></span>, to extrapolate a future state from past observations, or to do smoothing <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (k<0)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo><</mo>
<mn>0</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (k<0)}</annotation>
</semantics>
</math></span><img src="./df136337ec3ca895be91149ad09fbd71b04482f8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.281ex; height:2.843ex;" alt="{\displaystyle (k<0)}" loading="lazy"></span>, to recover a past state from observations made either before or after that instant.
</p><p>More complicated questions may also be asked as shown below in the HMM section.
</p><p>Bayesian filters <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle (k=0)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo stretchy="false">(</mo>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle (k=0)}</annotation>
</semantics>
</math></span><img src="./835dfd6fbaf246634f1101ba69dee6f83dd01634.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.281ex; height:2.843ex;" alt="{\displaystyle (k=0)}" loading="lazy"></span> have a very interesting recursive property, which contributes greatly to their attractiveness. <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)}</annotation>
</semantics>
</math></span><img src="./dca2b5828ed7b53615a17fec37a51b028089713d.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:20.572ex; height:3.343ex;" alt="{\displaystyle P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)}" loading="lazy"></span> may be computed simply from <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(S^{t-1}\mid O^{0}\wedge \cdots \wedge O^{t-1}\right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(S^{t-1}\mid O^{0}\wedge \cdots \wedge O^{t-1}\right)}</annotation>
</semantics>
</math></span><img src="./94586019687631ffd71bcdcbbd95633060f1b366.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:26.063ex; height:3.343ex;" alt="{\displaystyle P\left(S^{t-1}\mid O^{0}\wedge \cdots \wedge O^{t-1}\right)}" loading="lazy"></span> with the following formula:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)\\=&P\left(O^{t}|S^{t}\right)\times \sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="left left" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)\\=&P\left(O^{t}|S^{t}\right)\times \sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}</annotation>
</semantics>
</math></span><img src="./7b4d8309f24abf14159828e1cce833315847fb65.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:65.017ex; height:7.176ex;" alt="{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t}\right)\\=&P\left(O^{t}|S^{t}\right)\times \sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}" loading="lazy"></span></dd></dl>
<p>Another interesting point of view for this equation is to consider that there are two phases: a
prediction phase and an estimation phase:
</p>
<ul><li>During the prediction phase, the state is predicted using the dynamic model and the estimation of the state at the previous moment:</li></ul>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\\=&\sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="left left" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<munder>
<mo>∑<!-- ∑ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\\=&\sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}</annotation>
</semantics>
</math></span><img src="./8bf65cca35df0f5aac6c0ea8a7b6578d338b11c9.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -3.005ex; width:52.641ex; height:7.176ex;" alt="{\displaystyle {\begin{array}{ll}&P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\\=&\sum _{S^{t-1}}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(S^{t-1}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\right]\end{array}}}" loading="lazy"></span></dd></dl></dd></dl>
<ul><li>During the estimation phase, the prediction is either confirmed or invalidated using the last observation:</li></ul>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{aligned}&P\left(S^{t}\mid O^{0}\wedge \cdots \wedge O^{t}\right)\\={}&P\left(O^{t}\mid S^{t}\right)\times P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\end{aligned}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="right left right left right left right left right left right left" rowspacing="3pt" columnspacing="0em 2em 0em 2em 0em 2em 0em 2em 0em 2em 0em" displaystyle="true">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
</mrow>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{aligned}&P\left(S^{t}\mid O^{0}\wedge \cdots \wedge O^{t}\right)\\={}&P\left(O^{t}\mid S^{t}\right)\times P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\end{aligned}}}</annotation>
</semantics>
</math></span><img src="./4a7be658ae0fb9d6157e882e53aee864656f56bd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.838ex; width:39.864ex; height:6.843ex;" alt="{\displaystyle {\begin{aligned}&P\left(S^{t}\mid O^{0}\wedge \cdots \wedge O^{t}\right)\\={}&P\left(O^{t}\mid S^{t}\right)\times P\left(S^{t}|O^{0}\wedge \cdots \wedge O^{t-1}\right)\end{aligned}}}" loading="lazy"></span></dd></dl></dd></dl>
<div class="mw-heading mw-heading4"><h4 id="Bayesian_program_2">Bayesian program</h4></div>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&P\left(S^{0}\wedge O^{0}\right)\times \prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(O^{t}|S^{t}\right)\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\right)\\P\left(S^{t}|S^{t-1}\right)\\P\left(O^{t}|S^{t}\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\{\begin{cases}{\begin{array}{l}P\left(S^{t+k}|O^{0}\wedge \cdots \wedge O^{t}\right)\\\left(k=0\right)\equiv {\text{Filtering}}\\\left(k>0\right)\equiv {\text{Prediction}}\\\left(k<0\right)\equiv {\text{Smoothing}}\end{array}}\end{cases}}\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>D</mi>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>S</mi>
<mi>p</mi>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>V</mi>
<mi>a</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>D</mi>
<mi>c</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</munderover>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>F</mi>
<mi>o</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>I</mi>
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Q</mi>
<mi>u</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mtable columnalign="left" rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>+</mo>
<mi>k</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>=</mo>
<mn>0</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Filtering</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo>></mo>
<mn>0</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Prediction</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>(</mo>
<mrow>
<mi>k</mi>
<mo><</mo>
<mn>0</mn>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Smoothing</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&P\left(S^{0}\wedge O^{0}\right)\times \prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(O^{t}|S^{t}\right)\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\right)\\P\left(S^{t}|S^{t-1}\right)\\P\left(O^{t}|S^{t}\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\{\begin{cases}{\begin{array}{l}P\left(S^{t+k}|O^{0}\wedge \cdots \wedge O^{t}\right)\\\left(k=0\right)\equiv {\text{Filtering}}\\\left(k>0\right)\equiv {\text{Prediction}}\\\left(k<0\right)\equiv {\text{Smoothing}}\end{array}}\end{cases}}\end{cases}}}</annotation>
</semantics>
</math></span><img src="./0afa2e8c338bbd3139f5bda7b207e7a4c982e260.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -22.715ex; margin-bottom: -0.289ex; width:73.443ex; height:47.176ex;" alt="{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&P\left(S^{0}\wedge O^{0}\right)\times \prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\right)\times P\left(O^{t}|S^{t}\right)\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\right)\\P\left(S^{t}|S^{t-1}\right)\\P\left(O^{t}|S^{t}\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\{\begin{cases}{\begin{array}{l}P\left(S^{t+k}|O^{0}\wedge \cdots \wedge O^{t}\right)\\\left(k=0\right)\equiv {\text{Filtering}}\\\left(k>0\right)\equiv {\text{Prediction}}\\\left(k<0\right)\equiv {\text{Smoothing}}\end{array}}\end{cases}}\end{cases}}}" loading="lazy"></span></dd></dl>
<div class="mw-heading mw-heading4"><h4 id="Kalman_filter">Kalman filter</h4></div>
<p>The very well-known <a href="Kalman_filter" title="Kalman filter">Kalman filters</a><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> are a special case of Bayesian
filters.
</p><p>They are defined by the following Bayesian program:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}|\pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\wedge \pi \right)\times P\left(O^{t}|S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv G\left(S^{t},A\bullet S^{t-1},Q\right)\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv G\left(O^{t},H\bullet S^{t},R\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\P\left(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mi>r</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>D</mi>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>S</mi>
<mi>p</mi>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>V</mi>
<mi>a</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>D</mi>
<mi>c</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<mrow>
<mo>[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</munderover>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mrow class="MJX-TeXAtom-ORD">
<mo stretchy="false">|</mo>
</mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>F</mi>
<mi>o</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mi>G</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
<mi>A</mi>
<mo>∙<!-- ∙ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>,</mo>
<mi>Q</mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mi>G</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
<mi>H</mi>
<mo>∙<!-- ∙ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>,</mo>
<mi>R</mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>I</mi>
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Q</mi>
<mi>u</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}|\pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\wedge \pi \right)\times P\left(O^{t}|S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv G\left(S^{t},A\bullet S^{t-1},Q\right)\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv G\left(O^{t},H\bullet S^{t},R\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\P\left(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\end{cases}}}</annotation>
</semantics>
</math></span><img src="./84763c1c72220bff2b98a20efd9aeee8910ac015.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -17.838ex; width:69.838ex; height:36.843ex;" alt="{\displaystyle Pr{\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\cdots ,S^{T},O^{0},\cdots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}|\pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}|\pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}|S^{t-1}\wedge \pi \right)\times P\left(O^{t}|S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv G\left(S^{t},A\bullet S^{t-1},Q\right)\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv G\left(O^{t},H\bullet S^{t},R\right)\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\P\left(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\end{cases}}}" loading="lazy"></span></dd></dl>
<ul><li>Variables are continuous.</li>
<li>The transition model <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(S^{t}\mid S^{t-1}\wedge \pi )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(S^{t}\mid S^{t-1}\wedge \pi )}</annotation>
</semantics>
</math></span><img src="./456b52cf271310e81349c448ff51ec8d8b5edb4e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:16.202ex; height:3.176ex;" alt="{\displaystyle P(S^{t}\mid S^{t-1}\wedge \pi )}" loading="lazy"></span> and the observation model <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(O^{t}\mid S^{t}\wedge \pi )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(O^{t}\mid S^{t}\wedge \pi )}</annotation>
</semantics>
</math></span><img src="./500e028a789aee0446d48b988535a49f7e2245bc.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:14.353ex; height:3.009ex;" alt="{\displaystyle P(O^{t}\mid S^{t}\wedge \pi )}" loading="lazy"></span> are both specified using Gaussian laws with means that are linear functions of the conditioning variables.</li></ul>
<p>With these hypotheses and by using the recursive formula, it is possible to solve
the inference problem analytically to answer the usual <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi )}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mo stretchy="false">(</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi )}</annotation>
</semantics>
</math></span><img src="./c0406fe678655c734d3f7b0bb8b35c5c70e921a6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:26.196ex; height:3.176ex;" alt="{\displaystyle P(S^{T}\mid O^{0}\wedge \cdots \wedge O^{T}\wedge \pi )}" loading="lazy"></span> question.
This leads to an extremely efficient algorithm, which explains the popularity of Kalman filters and the number of their everyday applications.
</p><p>When there are no obvious linear transition and observation models, it is still often
possible, using a first-order Taylor's expansion, to treat these models as locally linear.
This generalization is commonly called the <a href="Extended_Kalman_filter" title="Extended Kalman filter">extended Kalman filter</a>.
</p>
<div class="mw-heading mw-heading4"><h4 id="Hidden_Markov_model">Hidden Markov model</h4></div>
<p><a href="Hidden_Markov_model" title="Hidden Markov model">Hidden Markov models</a> (HMMs) are another very popular specialization of Bayesian filters.
</p><p>They are defined by the following Bayesian program:
</p>
<dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\ldots ,S^{T},O^{0},\ldots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}\mid \pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}\mid \pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\times P\left(O^{t}\mid S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\mid \pi \right)\equiv {\text{Matrix}}\\P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv {\text{Matrix}}\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv {\text{Matrix}}\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\\max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]\end{cases}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mo movablelimits="true" form="prefix">Pr</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>D</mi>
<mi>s</mi>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>S</mi>
<mi>p</mi>
<mo stretchy="false">(</mo>
<mi>π<!-- π --></mi>
<mo stretchy="false">)</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>V</mi>
<mi>a</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>,</mo>
<mo>…<!-- … --></mo>
<mo>,</mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>D</mi>
<mi>c</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd></mtd>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mo>=</mo>
</mtd>
<mtd>
<mrow>
<mo>[</mo>
<mrow class="MJX-TeXAtom-ORD">
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<munderover>
<mo>∏<!-- ∏ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>=</mo>
<mn>1</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</munderover>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>×<!-- × --></mo>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>F</mi>
<mi>o</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>{</mo>
<mtable columnalign="left left" rowspacing=".2em" columnspacing="1em" displaystyle="false">
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Matrix</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Matrix</mtext>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
<mo>≡<!-- ≡ --></mo>
<mrow class="MJX-TeXAtom-ORD">
<mtext>Matrix</mtext>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>I</mi>
<mi>d</mi>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mi>Q</mi>
<mi>u</mi>
<mo>:</mo>
</mtd>
</mtr>
<mtr>
<mtd>
<munder>
<mo movablelimits="true" form="prefix">max</mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mtd>
</mtr>
</mtable>
<mo fence="true" stretchy="true" symmetric="true"></mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\ldots ,S^{T},O^{0},\ldots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}\mid \pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}\mid \pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\times P\left(O^{t}\mid S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\mid \pi \right)\equiv {\text{Matrix}}\\P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv {\text{Matrix}}\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv {\text{Matrix}}\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\\max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]\end{cases}}}</annotation>
</semantics>
</math></span><img src="./3fdb4b04f2fcf2e32cd28a2505e30d2b6b534351.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -19.505ex; width:72.506ex; height:40.176ex;" alt="{\displaystyle \Pr {\begin{cases}Ds{\begin{cases}Sp(\pi ){\begin{cases}Va:\\S^{0},\ldots ,S^{T},O^{0},\ldots ,O^{T}\\Dc:\\{\begin{cases}&P\left(S^{0}\wedge \cdots \wedge O^{T}\mid \pi \right)\\=&\left[{\begin{array}{c}P\left(S^{0}\wedge O^{0}\mid \pi \right)\\\prod _{t=1}^{T}\left[P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\times P\left(O^{t}\mid S^{t}\wedge \pi \right)\right]\end{array}}\right]\end{cases}}\\Fo:\\{\begin{cases}P\left(S^{0}\wedge O^{0}\mid \pi \right)\equiv {\text{Matrix}}\\P\left(S^{t}\mid S^{t-1}\wedge \pi \right)\equiv {\text{Matrix}}\\P\left(O^{t}\mid S^{t}\wedge \pi \right)\equiv {\text{Matrix}}\end{cases}}\end{cases}}\\Id\end{cases}}\\Qu:\\\max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]\end{cases}}}" loading="lazy"></span></dd></dl>
<ul><li>Variables are treated as being discrete.</li>
<li>The transition model <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(S^{t}\mid S^{t-1}\wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(S^{t}\mid S^{t-1}\wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./f927a3396ff511782b7d4494e1611b3286022b4f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:16.91ex; height:3.343ex;" alt="{\displaystyle P\left(S^{t}\mid S^{t-1}\wedge \pi \right)}" loading="lazy"></span> and the observation model <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle P\left(O^{t}\mid S^{t}\wedge \pi \right)}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>t</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle P\left(O^{t}\mid S^{t}\wedge \pi \right)}</annotation>
</semantics>
</math></span><img src="./f6747c7d7604d90ca1fdb24dc8e6fb24c8de3a5e.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:15.061ex; height:3.176ex;" alt="{\displaystyle P\left(O^{t}\mid S^{t}\wedge \pi \right)}" loading="lazy"></span> are</li></ul>
<p>both specified using probability matrices.
</p>
<ul><li>The question most frequently asked of HMMs is:</li></ul>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<munder>
<mo movablelimits="true" form="prefix">max</mo>
<mrow class="MJX-TeXAtom-ORD">
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
</mrow>
</munder>
<mrow>
<mo>[</mo>
<mrow>
<mi>P</mi>
<mrow>
<mo>(</mo>
<mrow>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mrow>
</msup>
<mo>∣<!-- ∣ --></mo>
<msup>
<mi>S</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mo>⋯<!-- ⋯ --></mo>
<mo>∧<!-- ∧ --></mo>
<msup>
<mi>O</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>T</mi>
</mrow>
</msup>
<mo>∧<!-- ∧ --></mo>
<mi>π<!-- π --></mi>
</mrow>
<mo>)</mo>
</mrow>
</mrow>
<mo>]</mo>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]}</annotation>
</semantics>
</math></span><img src="./6d4b43b4704a948b1936bb7e2e2b11e4e50258f8.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -2.505ex; width:57.199ex; height:4.843ex;" alt="{\displaystyle \max _{S^{1}\wedge \cdots \wedge S^{T-1}}\left[P\left(S^{1}\wedge \cdots \wedge S^{T-1}\mid S^{T}\wedge O^{0}\wedge \cdots \wedge O^{T}\wedge \pi \right)\right]}" loading="lazy"></span></dd></dl></dd></dl>
<p>What is the most probable series of states that leads to the present state, knowing the past observations?
</p><p>This particular question may be answered with a specific and very efficient algorithm
called the <a href="Viterbi_algorithm" title="Viterbi algorithm">Viterbi algorithm</a>.
</p><p>The <a href="Baum%E2%80%93Welch_algorithm" title="Baum–Welch algorithm">Baum–Welch algorithm</a> has been developed
for HMMs.
</p>
<div class="mw-heading mw-heading2"><h2 id="Applications">Applications</h2></div>
<div class="mw-heading mw-heading3"><h3 id="Academic_applications">Academic applications</h3></div>
<p>Since 2000, Bayesian programming has been used to develop both <a href="Robotics" title="Robotics">robotics</a> applications and life sciences models.<sup id="cite_ref-BessièreLaugier2008_7-0" class="reference"><a href="#cite_note-BessièreLaugier2008-7"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading4"><h4 id="Robotics">Robotics</h4></div>
<p>In robotics, bayesian programming was applied to <a href="Autonomous_robotics" class="mw-redirect" title="Autonomous robotics">autonomous robotics</a>,<sup id="cite_ref-8" class="reference"><a href="#cite_note-8"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-9" class="reference"><a href="#cite_note-9"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-Ferreira2014_12-0" class="reference"><a href="#cite_note-Ferreira2014-12"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> robotic <a href="Computer-aided_design" title="Computer-aided design">CAD</a> systems,<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup> <a href="Advanced_driver-assistance_systems" class="mw-redirect" title="Advanced driver-assistance systems">advanced driver-assistance systems</a>,<sup id="cite_ref-14" class="reference"><a href="#cite_note-14"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup> <a href="Robotic_arm" title="Robotic arm">robotic arm</a> control, <a href="Mobile_robot" title="Mobile robot">mobile robotics</a>,<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> human-robot interaction,<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> human-vehicle interaction (Bayesian autonomous driver models)<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-21" class="reference"><a href="#cite_note-21"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup> <a href="Video_game" title="Video game">video game</a> avatar programming and training <sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> and real-time strategy games (AI).<sup id="cite_ref-24" class="reference"><a href="#cite_note-24"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading4"><h4 id="Life_sciences">Life sciences</h4></div>
<p>In life sciences, bayesian programming was used in vision to reconstruct shape from motion,<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup> to model visuo-vestibular interaction<sup id="cite_ref-26" class="reference"><a href="#cite_note-26"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> and to study <a href="Saccade" title="Saccade">saccadic</a> eye movements;<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> in speech perception and control to study early <a href="Speech_acquisition" title="Speech acquisition">speech acquisition</a><sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> and the emergence of articulatory-acoustic systems;<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup> and to model handwriting perception and control.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Pattern_recognition">Pattern recognition</h3></div>
<p>Bayesian program learning has potential applications <a href="Speech_recognition" title="Speech recognition">voice recognition</a> and synthesis, <a href="Image_recognition" class="mw-redirect" title="Image recognition">image recognition</a> and natural language processing. It employs the principles of <i>compositionality</i> (building abstract representations from parts), <i>causality</i> (building complexity from parts) and <i>learning to learn</i> (using previously recognized concepts to ease the creation of new concepts).<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Possibility_theories">Possibility theories</h2></div>
<p>The comparison between probabilistic approaches (not only bayesian programming) and possibility theories continues to be debated.
</p><p>Possibility theories like, for instance, <a href="Fuzzy_set" title="Fuzzy set">fuzzy sets</a>,<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> <a href="Fuzzy_logic" title="Fuzzy logic">fuzzy logic</a><sup id="cite_ref-33" class="reference"><a href="#cite_note-33"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup> and <a href="Possibility_theory" title="Possibility theory">possibility theory</a><sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> are alternatives to probability to model uncertainty. They argue that probability is insufficient or inconvenient to model certain aspects of incomplete/uncertain knowledge.
</p><p>The defense of probability is mainly based on <a href="Cox's_theorem" title="Cox's theorem">Cox's theorem</a>, which starts from four postulates concerning rational reasoning in the presence of uncertainty. It demonstrates that the only mathematical framework that satisfies these postulates is probability theory. The argument is that any approach other than probability necessarily infringes one of these postulates and the value of that infringement.
</p>
<div class="mw-heading mw-heading2"><h2 id="Probabilistic_programming">Probabilistic programming</h2></div>
<p>The purpose of <a href="Probabilistic_relational_programming_language" class="mw-redirect" title="Probabilistic relational programming language">probabilistic programming</a> is to unify the scope of classical programming languages with probabilistic modeling (especially <a href="Bayesian_network" title="Bayesian network">bayesian networks</a>) to deal with uncertainty while profiting from the programming languages' expressiveness to encode complexity.
</p><p>Extended classical programming languages include logical languages as proposed in <a href="Abductive_logic_programming" title="Abductive logic programming">Probabilistic Horn Abduction</a>,<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup> Independent Choice Logic,<sup id="cite_ref-36" class="reference"><a href="#cite_note-36"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> PRISM,<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup> and ProbLog which proposes an extension of Prolog.
</p><p>It can also be extensions of <a href="Functional_programming" title="Functional programming">functional programming languages</a> (essentially <a href="Lisp_(programming_language)" title="Lisp (programming language)">Lisp</a> and <a href="Scheme_(programming_language)" title="Scheme (programming language)">Scheme</a>) such as IBAL or CHURCH. The underlying programming languages can be object-oriented as in BLOG and FACTORIE or more standard ones as in CES and FIGARO.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</p><p>The purpose of Bayesian programming is different. Jaynes' precept of "probability as logic" argues that probability is an extension of and an alternative to logic above which a complete theory of rationality, computation and programming can be rebuilt.<sup id="cite_ref-Jaynes2003_1-1" class="reference"><a href="#cite_note-Jaynes2003-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup> Bayesian programming attempts to replace classical languages with a programming approach based on probability that considers <a href="Completeness_(logic)" title="Completeness (logic)">incompleteness</a> and <a href="Uncertainty_quantification" title="Uncertainty quantification">uncertainty</a>.
</p><p>The precise comparison between the <a href="Semantics" title="Semantics">semantics</a> and power of expression of Bayesian and probabilistic programming is an open question.
</p>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1266661725">
/* start https://en.wikipedia.org/ */
.mw-parser-output .portalbox{padding:0;margin:0.5em 0;display:table;box-sizing:border-box;max-width:175px;list-style:none}.mw-parser-output .portalborder{border:1px solid var(--border-color-base,#a2a9b1);padding:0.1em;background:var(--background-color-neutral-subtle,#f8f9fa)}.mw-parser-output .portalbox-entry{display:table-row;font-size:85%;line-height:110%;height:1.9em;font-style:italic;font-weight:bold}.mw-parser-output .portalbox-image{display:table-cell;padding:0.2em;vertical-align:middle;text-align:center}.mw-parser-output .portalbox-link{display:table-cell;padding:0.2em 0.2em 0.2em 0.3em;vertical-align:middle}@media(min-width:720px){.mw-parser-output .portalleft{margin:0.5em 1em 0.5em 0}.mw-parser-output .portalright{clear:right;float:right;margin:0.5em 0 0.5em 1em}}
/* end https://en.wikipedia.org/ */
</style>
<style data-mw-deduplicate="TemplateStyles:r1184024115">
/* start https://en.wikipedia.org/ */
.mw-parser-output .div-col{margin-top:0.3em;column-width:30em}.mw-parser-output .div-col-small{font-size:90%}.mw-parser-output .div-col-rules{column-rule:1px solid #aaa}.mw-parser-output .div-col dl,.mw-parser-output .div-col ol,.mw-parser-output .div-col ul{margin-top:0}.mw-parser-output .div-col li,.mw-parser-output .div-col dd{page-break-inside:avoid;break-inside:avoid-column}
/* end https://en.wikipedia.org/ */
</style><div class="div-col" style="column-width: 20em;">
<ul><li><a href="Bayes'_rule" class="mw-redirect" title="Bayes' rule">Bayes' rule</a></li>
<li><a href="Bayesian_inference" title="Bayesian inference">Bayesian inference</a></li>
<li><a href="Bayesian_probability" title="Bayesian probability">Bayesian probability</a></li>
<li><a href="Bayesian_spam_filtering" class="mw-redirect" title="Bayesian spam filtering">Bayesian spam filtering</a></li>
<li><a href="Belief_propagation" title="Belief propagation">Belief propagation</a></li>
<li><a href="Cox's_theorem" title="Cox's theorem">Cox's theorem</a></li>
<li><a href="Expectation-maximization_algorithm" class="mw-redirect" title="Expectation-maximization algorithm">Expectation-maximization algorithm</a></li>
<li><a href="Factor_graph" title="Factor graph">Factor graph</a></li>
<li><a href="Graphical_model" title="Graphical model">Graphical model</a></li>
<li><a href="Hidden_Markov_model" title="Hidden Markov model">Hidden Markov model</a></li>
<li><a href="Judea_Pearl" title="Judea Pearl">Judea Pearl</a></li>
<li><a href="Kalman_filter" title="Kalman filter">Kalman filter</a></li>
<li><a href="Naive_Bayes_classifier" title="Naive Bayes classifier">Naive Bayes classifier</a></li>
<li><a href="Pierre-Simon_Laplace" title="Pierre-Simon Laplace">Pierre-Simon de Laplace</a></li>
<li><a href="Probabilistic_logic" title="Probabilistic logic">Probabilistic logic</a></li>
<li><a href="Probabilistic_programming_language" class="mw-redirect" title="Probabilistic programming language">Probabilistic programming language</a></li>
<li><a href="Subjective_logic" title="Subjective logic">Subjective logic</a></li></ul></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */
.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}
/* end https://en.wikipedia.org/ */
</style><div class="reflist reflist-columns references-column-width reflist-columns-2">
<ol class="references">
<li id="cite_note-Jaynes2003-1"><span class="mw-cite-backlink">^ <a href="#cite_ref-Jaynes2003_1-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Jaynes2003_1-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */
.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}
/* end https://en.wikipedia.org/ */
</style><cite id="CITEREFJaynes2003" class="citation book cs1">Jaynes, E. T. (10 April 2003). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=UjsgAwAAQBAJ"><i>Probability Theory: The Logic of Science</i></a>. Cambridge University Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-139-43516-1</bdi>.</cite></span>
</li>
<li id="cite_note-BessiereMazer2013-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-BessiereMazer2013_2-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBessiereMazerManuel_AhuactzinMekhnacha2013" class="citation book cs1">Bessiere, Pierre; Mazer, Emmanuel; Manuel Ahuactzin, Juan; Mekhnacha, Kamel (20 December 2013). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=4XtcAgAAQBAJ"><i>Bayesian Programming</i></a>. CRC Press. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4398-8032-6</bdi>.</cite></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-3">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://bcf.usc.edu/~rosenblo/Pubs/agi15_demski.pdf">"Expression Graphs: Unifying Factor Graphs and Sum-Product Networks"</a> <span class="cs1-format">(PDF)</span>. <i>bcf.usc.edu</i>.</cite></span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><b><a href="#cite_ref-4">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://ocw.mit.edu/courses/sloan-school-of-management/15-097-prediction-machine-learning-and-statistics-spring-2012/lecture-notes/MIT15_097S12_lec15.pdf">"Probabilistic Modeling and Bayesian Analysis"</a> <span class="cs1-format">(PDF)</span>. <i>ocw.mit.edu</i>.</cite></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><b><a href="#cite_ref-5">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.cs.brandeis.edu/~cs134/K_F_Ch3.pdf">"Bayesian Networks"</a> <span class="cs1-format">(PDF)</span>. <i>cs.brandeis.edu</i>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFKalman1960" class="citation journal cs1">Kalman, R. E. (1960). "A New Approach to Linear Filtering and Prediction Problems". <i>Journal of Basic Engineering</i>. <b>82</b>: <span class="nowrap">33–</span>45. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1115%2F1.3662552">10.1115/1.3662552</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:1242324">1242324</a>.</cite></span>
</li>
<li id="cite_note-BessièreLaugier2008-7"><span class="mw-cite-backlink"><b><a href="#cite_ref-BessièreLaugier2008_7-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFBessièreLaugierSiegwart2008" class="citation book cs1">Bessière, Pierre; Laugier, Christian; Siegwart, Roland (15 May 2008). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=Rk6ZnpmfhrQC"><i>Probabilistic Reasoning and Decision Making in Sensory-Motor Systems</i></a>. Springer Science & Business Media. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-540-79006-8</bdi>.</cite></span>
</li>
<li id="cite_note-8"><span class="mw-cite-backlink"><b><a href="#cite_ref-8">^</a></b></span> <span class="reference-text"><cite id="CITEREFLebeltelBessière,_P.Diard,_J.Mazer,_E.2004" class="citation journal cs1">Lebeltel, O.; Bessière, P.; Diard, J.; Mazer, E. (2004). <a rel="nofollow" class="external text" href="http://cogprints.org/1670/5/Lebeltel2000.pdf">"Bayesian Robot Programming"</a> <span class="cs1-format">(PDF)</span>. <i>Advanced Robotics</i>. <b>16</b> (1): <span class="nowrap">49–</span>79. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2Fb%3Aauro.0000008671.38949.43">10.1023/b:auro.0000008671.38949.43</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18768468">18768468</a>.</cite></span>
</li>
<li id="cite_note-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-9">^</a></b></span> <span class="reference-text"><cite id="CITEREFDiardGilet,_E.Simonin,_E.Bessière,_P.2010" class="citation journal cs1">Diard, J.; Gilet, E.; Simonin, E.; Bessière, P. (2010). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-00537809/file/diard10_author.pdf">"Incremental learning of Bayesian sensorimotor models: from low-level behaviours to large-scale structure of the environment"</a> <span class="cs1-format">(PDF)</span>. <i>Connection Science</i>. <b>22</b> (4): <span class="nowrap">291–</span>312. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2010ConSc..22..291D">2010ConSc..22..291D</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1080%2F09540091003682561">10.1080/09540091003682561</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:216035458">216035458</a>.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFPradalierHermosillo,_J.Koike,_C.Braillon,_C.2005" class="citation journal cs1">Pradalier, C.; Hermosillo, J.; Koike, C.; Braillon, C.; Bessière, P.; Laugier, C. (2005). "The CyCab: a car-like robot navigating autonomously and safely among pedestrians". <i>Robotics and Autonomous Systems</i>. <b>50</b> (1): <span class="nowrap">51–</span>68. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.219.69">10.1.1.219.69</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.robot.2004.10.002">10.1016/j.robot.2004.10.002</a>.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFFerreiraLobo,_J.Bessière,_P.Castelo-Branco,_M.2012" class="citation journal cs1">Ferreira, J.; Lobo, J.; Bessière, P.; Castelo-Branco, M.; Dias, J. (2012). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-00747148/file/A_Bayesian_Framework_for_Active_Artificial_Perception.pdf">"A Bayesian Framework for Active Artificial Perception"</a> <span class="cs1-format">(PDF)</span>. <i>IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics</i>. <b>99</b> (2): <span class="nowrap">1–</span>13. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FTSMCB.2012.2214477">10.1109/TSMCB.2012.2214477</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/23014760">23014760</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:1808051">1808051</a>.</cite></span>
</li>
<li id="cite_note-Ferreira2014-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-Ferreira2014_12-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFFerreiraDias,_J._M.2014" class="citation book cs1">Ferreira, J. F.; Dias, J. M. (2014). <i>Probabilistic Approaches to Robotic Perception</i>. Springer. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-319-02005-1</bdi>.</cite></span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text"><cite id="CITEREFMekhnachaMazer,_E.Bessière,_P.2001" class="citation journal cs1">Mekhnacha, K.; Mazer, E.; Bessière, P. (2001). "The design and implementation of a Bayesian CAD modeler for robotic applications". <i>Advanced Robotics</i>. <b>15</b> (1): <span class="nowrap">45–</span>69. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.552.3126">10.1.1.552.3126</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1163%2F156855301750095578">10.1163/156855301750095578</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:7920387">7920387</a>.</cite></span>
</li>
<li id="cite_note-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-14">^</a></b></span> <span class="reference-text"><cite id="CITEREFCouéPradalier,_C.Laugier,_C.Fraichard,_T.2006" class="citation journal cs1">Coué, C.; Pradalier, C.; Laugier, C.; Fraichard, T.; Bessière, P. (2006). <a rel="nofollow" class="external text" href="https://hal.inria.fr/inria-00182004/file/coue-etal-ijrr-06.pdf">"Bayesian Occupancy Filtering for Multitarget Tracking: an Automotive Application"</a> <span class="cs1-format">(PDF)</span>. <i>International Journal of Robotics Research</i>. <b>25</b> (1): <span class="nowrap">19–</span>30. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1177%2F0278364906061158">10.1177/0278364906061158</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:13874685">13874685</a>.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFVasudevanSiegwart,_R.2008" class="citation journal cs1">Vasudevan, S.; Siegwart, R. (2008). "Bayesian space conceptualization and place classification for semantic maps in mobile robotics". <i>Robotics and Autonomous Systems</i>. <b>56</b> (6): <span class="nowrap">522–</span>537. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.149.4189">10.1.1.149.4189</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.robot.2008.03.005">10.1016/j.robot.2008.03.005</a>.</cite></span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text"><cite id="CITEREFPerrinChavarriaga,_R.Colas,_F.Seigwart,_R.2010" class="citation journal cs1">Perrin, X.; Chavarriaga, R.; Colas, F.; Seigwart, R.; Millan, J. (2010). <a rel="nofollow" class="external text" href="http://infoscience.epfl.ch/record/149091">"Brain-coupled interaction for semi-autonomous navigation of an assistive robot"</a>. <i>Robotics and Autonomous Systems</i>. <b>58</b> (12): <span class="nowrap">1246–</span>1255. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.robot.2010.05.010">10.1016/j.robot.2010.05.010</a>.</cite></span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text"><cite id="CITEREFRettDias,_J.Ahuactzin,_J-M.2010" class="citation journal cs1">Rett, J.; Dias, J.; Ahuactzin, J-M. (2010). "Bayesian reasoning for Laban Movement Analysis used in human-machine interaction". <i>International Journal of Reasoning-Based Intelligent Systems</i>. <b>2</b> (1): <span class="nowrap">13–</span>35. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.379.6216">10.1.1.379.6216</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1504%2FIJRIS.2010.029812">10.1504/IJRIS.2010.029812</a>.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text">
<cite id="CITEREFMöbusEilersGarbeZilinski2009" class="citation conference cs1">Möbus, C.; Eilers, M.; Garbe, H.; Zilinski, M. (2009). <a rel="nofollow" class="external text" href="http://oops.uni-oldenburg.de/1844/1/PartialCooperative20090223_PCM.pdf">"Probabilistic and Empirical Grounded Modeling of Agents in (Partial) Cooperative Traffic Scenarios"</a> <span class="cs1-format">(PDF)</span>. In Duffy, Vincent G. (ed.). <i>Digital Human Modeling</i>. Second International Conference, ICDHM 2009, San Diego, CA, USA. Lecture Notes in Computer Science. Vol. 5620. Springer. pp. <span class="nowrap">423–</span>432. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-02809-0_45">10.1007/978-3-642-02809-0_45</a></span>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-02808-3</bdi>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text">
<cite id="CITEREFMöbusEilers2009" class="citation conference cs1">Möbus, C.; Eilers, M. (2009). "Further Steps Towards Driver Modeling according to the Bayesian Programming Approach". In Duffy, Vincent G. (ed.). <i>Digital Human Modeling</i>. Second International Conference, ICDHM 2009, San Diego, CA, USA. Lecture Notes in Computer Science. Vol. 5620. Springer. pp. <span class="nowrap">413–</span>422. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.319.2067">10.1.1.319.2067</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-02809-0_44">10.1007/978-3-642-02809-0_44</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-02808-3</bdi>.</cite></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text">
<cite id="CITEREFEilersMöbus,_C.2010" class="citation conference cs1">Eilers, M.; Möbus, C. (2010). <a rel="nofollow" class="external text" href="http://www.lks.uni-oldenburg.de/download/Publikationen/2010/Eilers&PCM2010_BFFM_BAD_MoB_Modells2010.pdf">"Lernen eines modularen Bayesian Autonomous Driver Mixture-of-Behaviors (BAD MoB) Modells"</a> <span class="cs1-format">(PDF)</span>. In Kolrep, H.; Jürgensohn, Th. (eds.). <i>Fahrermodellierung - Zwischen kinematischen Menschmodellen und dynamisch-kognitiven Verhaltensmodellen</i>. Fortschrittsbericht des VDI in der Reihe 22 (Mensch-Maschine-Systeme). Düsseldorf, Germany: VDI-Verlag. pp. <span class="nowrap">61–</span>74. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-18-303222-8</bdi>.</cite></span>
</li>
<li id="cite_note-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-21">^</a></b></span> <span class="reference-text">
<cite id="CITEREFEilersMöbus,_C.2011" class="citation conference cs1">Eilers, M.; Möbus, C. (2011). "Learning the Relevant Percepts of Modular Hierarchical Bayesian Driver Models Using a Bayesian Information Criterion". In Duffy, V.G. (ed.). <i>Digital Human Modeling</i>. LNCS 6777. Heidelberg, Germany: Springer. pp. <span class="nowrap">463–</span>472. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-21799-9_52">10.1007/978-3-642-21799-9_52</a></span>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-3-642-21798-2</bdi>.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text">
<cite id="CITEREFEilersMöbus,_C.2011" class="citation conference cs1">Eilers, M.; Möbus, C. (2011). <a rel="nofollow" class="external text" href="http://www.crcpress.com/product/isbn/9781439835111">"Learning of a Bayesian Autonomous Driver Mixture-of-Behaviors (BAD-MoB) Model"</a>. In Duffy, V.G. (ed.). <i>Advances in Applied Digital Human Modeling</i>. LNCS 6777. Boca Raton, USA: CRC Press, Taylor & Francis Group. pp. <span class="nowrap">436–</span>445. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4398-3511-1</bdi>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite id="CITEREFLe_HyArrigoni,_A.Bessière,_P.Lebetel,_O.2004" class="citation journal cs1">Le Hy, R.; Arrigoni, A.; Bessière, P.; Lebetel, O. (2004). <a rel="nofollow" class="external text" href="http://cogprints.org/3744/1/lehy04.pdf">"Teaching Bayesian Behaviours to Video Game Characters"</a> <span class="cs1-format">(PDF)</span>. <i>Robotics and Autonomous Systems</i>. <b>47</b> (<span class="nowrap">2–</span>3): <span class="nowrap">177–</span>185. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2Fj.robot.2004.03.012">10.1016/j.robot.2004.03.012</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:16415524">16415524</a>.</cite></span>
</li>
<li id="cite_note-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-24">^</a></b></span> <span class="reference-text"><cite id="CITEREFSynnaeve2012" class="citation book cs1">Synnaeve, G. (2012). <a rel="nofollow" class="external text" href="http://tel.archives-ouvertes.fr/docs/00/78/06/35/PDF/29588_SYNNAEVE_2012_archivage.pdf"><i>Bayesian Programming and Learning for Multiplayer Video Games</i></a> <span class="cs1-format">(PDF)</span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text"><cite id="CITEREFColasDroulez,_J.Wexler,_M.Bessière,_P.2008" class="citation journal cs1">Colas, F.; Droulez, J.; Wexler, M.; Bessière, P. (2008). "A unified probabilistic model of the perception of three-dimensional structure from optic flow". <i>Biological Cybernetics</i>. <b>97</b> (<span class="nowrap">5–</span>6): <span class="nowrap">461–</span>77. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.215.1491">10.1.1.215.1491</a></span>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs00422-007-0183-z">10.1007/s00422-007-0183-z</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/17987312">17987312</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:215821150">215821150</a>.</cite></span>
</li>
<li id="cite_note-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-26">^</a></b></span> <span class="reference-text"><cite id="CITEREFLaurensDroulez,_J.2007" class="citation journal cs1">Laurens, J.; Droulez, J. (2007). "Bayesian processing of vestibular information". <i>Biological Cybernetics</i>. <b>96</b> (4): <span class="nowrap">389–</span>404. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs00422-006-0133-1">10.1007/s00422-006-0133-1</a>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/17146661">17146661</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:18138027">18138027</a>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite id="CITEREFColasFlacher,_F.Tanner,_T.Bessière,_P.2009" class="citation journal cs1">Colas, F.; Flacher, F.; Tanner, T.; Bessière, P.; Girard, B. (2009). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-00384515/file/main.pdf">"Bayesian models of eye movement selection with retinotopic maps"</a> <span class="cs1-format">(PDF)</span>. <i>Biological Cybernetics</i>. <b>100</b> (3): <span class="nowrap">203–</span>214. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1007%2Fs00422-009-0292-y">10.1007/s00422-009-0292-y</a></span>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/19212780">19212780</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:5906668">5906668</a>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite id="CITEREFSerkhaneSchwartz,_J-L.Bessière,_P.2005" class="citation journal cs1">Serkhane, J.; Schwartz, J-L.; Bessière, P. (2005). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-00186575/file/Serkhane_Interaction_Studies_2005.pdf">"Building a talking baby robot A contribution to the study of speech acquisition and evolution"</a> <span class="cs1-format">(PDF)</span>. <i>Interaction Studies</i>. <b>6</b> (2): <span class="nowrap">253–</span>286. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1075%2Fis.6.2.06ser">10.1075/is.6.2.06ser</a>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite id="CITEREFMoulin-FrierLaurent,_R.Bessière,_P.Schwartz,_J-L.2012" class="citation journal cs1">Moulin-Frier, C.; Laurent, R.; Bessière, P.; Schwartz, J-L.; Diard, J. (2012). <a rel="nofollow" class="external text" href="https://hal.archives-ouvertes.fr/hal-01059179/file/moulin-frier12.pdf">"Adverse conditions improve distinguishability of auditory, motor and percep-tuo-motor theories of speech perception: an exploratory Bayesian modeling study"</a> <span class="cs1-format">(PDF)</span>. <i>Language and Cognitive Processes</i>. <b>27</b> (<span class="nowrap">7–</span>8): <span class="nowrap">1240–</span>1263. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1080%2F01690965.2011.645313">10.1080/01690965.2011.645313</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:55504109">55504109</a>.</cite></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite id="CITEREFGiletDiard,_J.Bessière,_P.2011" class="citation journal cs1">Gilet, E.; Diard, J.; Bessière, P. (2011). Sporns, Olaf (ed.). <a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3106017">"Bayesian Action–Perception Computational Model: Interaction of Production and Recognition of Cursive Letters"</a>. <i>PLOS ONE</i>. <b>6</b> (6): e20387. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011PLoSO...620387G">2011PLoSO...620387G</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1371%2Fjournal.pone.0020387">10.1371/journal.pone.0020387</a></span>. <a href="PMC_(identifier)" class="mw-redirect" title="PMC (identifier)">PMC</a> <span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3106017">3106017</a></span>. <a href="PMID_(identifier)" class="mw-redirect" title="PMID (identifier)">PMID</a> <a rel="nofollow" class="external text" href="https://pubmed.ncbi.nlm.nih.gov/21674043">21674043</a>.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.gizmag.com/artificial-intelligence-algorithm-learning/41448">"New algorithm helps machines learn as quickly as humans"</a>. <i>www.gizmag.com</i>. 2016-01-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2016-01-23</span></span>.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite id="CITEREFZadeh1965" class="citation journal cs1"><a href="Lotfi_A._Zadeh" title="Lotfi A. Zadeh">Zadeh, L.A.</a> (June 1965). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0019-9958%2865%2990241-X">"Fuzzy sets"</a>. <i><a href="Information_and_Computation" title="Information and Computation">Information and Control</a></i>. <b>8</b> (3). San Diego: <span class="nowrap">338–</span>353. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0019-9958%2865%2990241-X">10.1016/S0019-9958(65)90241-X</a></span>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0019-9958">0019-9958</a>. <a href="Zbl_(identifier)" class="mw-redirect" title="Zbl (identifier)">Zbl</a> <a rel="nofollow" class="external text" href="https://zbmath.org/?format=complete&q=an:0139.24606">0139.24606</a>. <a href="WDQ_(identifier)" class="mw-redirect" title="WDQ (identifier)">Wikidata</a> <a href="https://www.wikidata.org/wiki/Q25938993" class="extiw external" title="d:Q25938993">Q25938993</a>.</cite></span>
</li>
<li id="cite_note-33"><span class="mw-cite-backlink"><b><a href="#cite_ref-33">^</a></b></span> <span class="reference-text"><cite id="CITEREFZadeh1975" class="citation journal cs1"><a href="Lotfi_A._Zadeh" title="Lotfi A. Zadeh">Zadeh, L.A.</a> (September 1975). "Fuzzy logic and approximate reasoning". <i><a href="Synthese" title="Synthese">Synthese</a></i>. <b>30</b> (<span class="nowrap">3–</span>4). <a href="Springer_Science%2BBusiness_Media" title="Springer Science+Business Media">Springer</a>: <span class="nowrap">407–</span>428. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2FBF00485052">10.1007/BF00485052</a>. <a href="ISSN_(identifier)" class="mw-redirect" title="ISSN (identifier)">ISSN</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/issn/0039-7857">0039-7857</a>. <a href="OCLC_(identifier)" class="mw-redirect" title="OCLC (identifier)">OCLC</a> <a rel="nofollow" class="external text" href="https://search.worldcat.org/oclc/714993477">714993477</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:46975216">46975216</a>. <a href="Zbl_(identifier)" class="mw-redirect" title="Zbl (identifier)">Zbl</a> <a rel="nofollow" class="external text" href="https://zbmath.org/?format=complete&q=an:0319.02016">0319.02016</a>. <a href="WDQ_(identifier)" class="mw-redirect" title="WDQ (identifier)">Wikidata</a> <a href="https://www.wikidata.org/wiki/Q57275767" class="extiw external" title="d:Q57275767">Q57275767</a>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite id="CITEREFDuboisPrade,_H.2001" class="citation web cs1">Dubois, D.; Prade, H. (2001). <a rel="nofollow" class="external text" href="ftp://ftp.irit.fr/IRIT/ADRIA/AMAI-Dub.Pra.revised.pdf">"Possibility Theory, Probability Theory and Multiple-Valued Logics: A Clarification"</a> <span class="cs1-format">(PDF)</span>. <i>Ann. Math. Artif. Intell.</i> (<a href="FTP" class="mw-redirect" title="FTP">FTP</a>). pp. <span class="nowrap">35–</span>66. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1023%2FA%3A1016740830286">10.1023/A:1016740830286</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:10271476">10271476</a>.</cite> <span style="font-size:0.95em; font-size:95%; color: var( --color-subtle, #555 )">(To view documents see Help:FTP)</span></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite id="CITEREFPoole1993" class="citation journal cs1">Poole, D. (1993). "Probabilistic Horn abduction and Bayesian networks". <i>Artificial Intelligence</i>. <b>64</b>: <span class="nowrap">81–</span>129. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1016%2F0004-3702%2893%2990061-F">10.1016/0004-3702(93)90061-F</a>.</cite></span>
</li>
<li id="cite_note-36"><span class="mw-cite-backlink"><b><a href="#cite_ref-36">^</a></b></span> <span class="reference-text"><cite id="CITEREFPoole1997" class="citation journal cs1">Poole, D. (1997). <a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0004-3702%2897%2900027-1">"The Independent Choice Logic for modelling multiple agents under uncertainty"</a>. <i>Artificial Intelligence</i>. <b>94</b> (<span class="nowrap">1–</span>2): <span class="nowrap">7–</span>56. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.1016%2FS0004-3702%2897%2900027-1">10.1016/S0004-3702(97)00027-1</a></span>.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite id="CITEREFSatoKameya,_Y.2001" class="citation journal cs1">Sato, T.; Kameya, Y. (2001). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20140712033447/http://www.jair.org/media/912/live-912-2013-jair.pdf">"Parameter learning of logic programs for symbolic-statistical modeling"</a> <span class="cs1-format">(PDF)</span>. <i>Journal of Artificial Intelligence Research</i>. <b>15</b> (2001): <span class="nowrap">391–</span>454. <a href="ArXiv_(identifier)" class="mw-redirect" title="ArXiv (identifier)">arXiv</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://arxiv.org/abs/1106.1797">1106.1797</a></span>. <a href="Bibcode_(identifier)" class="mw-redirect" title="Bibcode (identifier)">Bibcode</a>:<a rel="nofollow" class="external text" href="https://ui.adsabs.harvard.edu/abs/2011arXiv1106.1797S">2011arXiv1106.1797S</a>. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1613%2Fjair.912">10.1613/jair.912</a>. <a href="S2CID_(identifier)" class="mw-redirect" title="S2CID (identifier)">S2CID</a> <a rel="nofollow" class="external text" href="https://api.semanticscholar.org/CorpusID:7857569">7857569</a>. Archived from <a rel="nofollow" class="external text" href="http://www.jair.org/media/912/live-912-2013-jair.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2014-07-12<span class="reference-accessdate">. Retrieved <span class="nowrap">2015-10-18</span></span>.</cite></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/p2t2/figaro">figaro</a> on <a href="GitHub" title="GitHub">GitHub</a></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="Further_reading">Further reading</h2></div>
<ul><li><cite id="CITEREFKamel_Mekhnacha2013" class="citation book cs1">Kamel Mekhnacha (2013). <i>Bayesian Programming</i>. Chapman and Hall/CRC. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1201%2Fb16111">10.1201/b16111</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a> <bdi>978-1-4398-8032-6</bdi>.</cite></li></ul>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><a rel="nofollow" class="external text" href="https://archive.today/20131123162733/http://www.probayes.com/Bayesian-Programming-Book">A companion site to the <i>Bayesian programming</i> book where to download ProBT an inference engine dedicated to Bayesian programming.</a></li>
<li>The <a rel="nofollow" class="external text" href="http://Bayesian-programming.org">Bayesian-programming.org site</a> <a rel="nofollow" class="external text" href="https://archive.today/20131123162815/http://bayesian-programming.org/">Archived</a> 2013-11-23 at <a href="Archive.today" title="Archive.today">archive.today</a> for the promotion of Bayesian programming with detailed information and numerous publications.</li></ul></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-05-27" href="https://en.wikipedia.org/wiki/?title=Bayesian_programming&oldid=1292509111">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
</body></html>